matlab用粒子群算法求解方程组最优解 用粒子群优化算法求一元高次方程的全部根的MATLAB程序
matlab用粒子群算法求解方程组最优解
这关键是适应度函数的问题,你可以编写如下适应度函数:
F=|E(X1y1 X2y2)-0| |D(X1y1 X2y2)-1|,F值越小越好,||指的是绝对值。
而变量你就选取X1和X2里的每个元素。比如X1=[x1,x2,x3]X2=[x4,x5,x6]你就可以设置PSO的变量为x1到x6这六个值。
答毕,不懂追问。
用粒子群优化算法求一元高次方程的全部根的MATLAB程序
最简单的方法是用矩阵来表示多项式:
p=[1,10,37,102.055,120];%注意要按照降幂来排列啊
roots(p);
p
结果:
ans=
6.1749
-0.9139 2.9823i
-0.9139 - 2.9823i
-1.9974