1、其求根问题就是确定方程组在指定范围内的一组解,可以通过对单个非线性方程求根问题的直接推广得到非线性方程组的求解算法。非线性方程组的数值解法常用解法分为两类:一类是线性化方法线性化方法,将非线性方程组用一个线性方程组来近似,由此构造一种迭代公式,逐次逼近所求的解;另一类是属于求函数极小值求函数极小值的方法,即由非线性函数 构造一个模函数,例如构造函数然后通过各种下降法下降法或优化算法优化算法求出模函数的极小值点,此极小值点即为非线性方程组的一组解。非线性方程组的数值解法不动点迭代法不动点迭代法:根据非线性方程求根的迭代法,将方程组改写为如下等价方程组构造迭代公式选取初始向量则由迭代公式可以得到一
2、个向量序列 。如果方程组有唯一解向量 ,并且 ,则 可作为逐次逼近 的近似解。非线性方程组的数值解法如果把迭代公式写为向量形式并记矩阵 为则可以证明当 时,迭代公式是收敛的。非线性方程组的数值解法例题例题1 1:用迭代法解如下非线性方程组取初值 。解解:构造迭代公式非线性方程组的数值解法式中所以有取初值 ,在 附近 ,所以迭代公式收敛。非线性方程组的数值解法x10=0;x20=0;k=0;while 1 k=k+1;x1k=(1+x20-0.1*exp(x10)/4;x2k=(x10-x102/8)/4;%雅克比迭代法%x2k=(x1k-x1k2/8)/4;%高斯-赛德尔迭代法 err1=ab
3、s(x1k-x10);err2=abs(x2k-x20);err=max(err1,err2);if err=0.00000000005 break;end x10=x1k;x20=x2k;end非线性方程组的数值解法0(0,0)1(0.2250,0)0.22502(0.2186919321,0.0546679688)0.05466796883(0.2325557961,0.0531784155)0.01386386404(0.2317490826,0.0556448880)0.00327046485(0.2325921368,0.0562589070)0.00084305416(0.2325
4、180591,0.0564574373)0.00019853037(0.2325700285,0.0564399945)0.00005196948(0.2325640284,0.0564522316)0.00001223709(0.2325672770,0.0564508188)0.000003248510(0.2325668213,0.0564515837)0.000000764918(0.2325670051,0.0564515197)19(0.2325670051,0.0564515197)非线性方程组的数值解法上述迭代公式与求解线性方程组的雅克比迭代公式形式相同,可以对其进行改进,构造
5、求解非线性方程组的高斯-赛德尔迭代公式,即对上例采用高斯-赛德尔迭代公式计算迭代计算过程如下表所示非线性方程组的数值解法0(0,0)1(0.2250000000,0.0546679688)0.22502(0.2323589243,0.0564025226)0.00735892433(0.2325613192,0.0564501808)0.00020239504(0.2325668498,0.0564514831)0.00000553055(0.2325670008,0.0564515487)0.00000015116(0.2325670050,0.0564515196)0.0000000041
6、7(0.2325670051,0.0564515197)0.00000000018(0.2325670051,0.0564515197)非线性方程组的数值解法牛顿迭代法:根据求解非线性方程的牛顿迭代法,如果已经给出方程组 的一个近似根 ,则可把函数 的分量 在 处按多元函数泰勒公式展开,取其线性部分做近似,得则得到线性方程组非线性方程组的数值解法方程组的解为上式即为求解非线性方程组的牛顿迭代公式。式中称为 的雅克比矩阵雅克比矩阵。非线性方程组的数值解法例题2:用牛顿迭代法求解下面非线性方程组计算时取初始值 。解:先求雅克比矩阵非线性方程组的数值解法由牛顿迭代公式得到迭代计算过程如下表所示。非线
7、性方程组的数值解法X0=1.5;1;F=X0(1,1)+2*X0(2,1)-3;2*X0(1,1)2+X0(2,1)2-5;Fd=1 2;4*X0(1,1)2*X0(2,1);Xk=X0-inv(Fd)*F;err=max(abs(Xk-X0);if err0.5 Pc=pp-beita*abs(ones(pNum,1)*mbest-Pc)*log(1/u);else Pc=pp+beita*abs(ones(pNum,1)*mbest-Pc)*log(1/u);end%适应度 for kk=1:pNum a1=abs(5*Pc(kk,1)+Pc(kk,2)-Pc(kk,3)-2*Pc(kk,
8、4)+2);a2=abs(2*Pc(kk,1)+8*Pc(kk,2)+Pc(kk,3)+3*Pc(kk,4)+6);a3=abs(Pc(kk,1)-2*Pc(kk,2)-4*Pc(kk,3)-Pc(kk,4)-6);a4=abs(-Pc(kk,1)+3*Pc(kk,2)+2*Pc(kk,3)+7*Pc(kk,4)-12);fitness(kk,1)=(a1+a2+a3+a4);end智能计算及其在数值计算中的应用 for gn=1:pNum%限定范围 if Pc(gn,1)X1max Pc(gn,1)=2*X1max-Pc(gn,1);end%选择个体局部最优和全局最优 if fitness(
9、gn,1)pBestf(gn,1)pBestp(gn,:)=Pc(gn,:);pBestf(gn,1)=fitness(gn,1);end if fitness(gn,1)gBestf gBestf=fitness(gn,1);gBestp=Pc(gn,:end end Best(gm+1,1)=gBestf;Best(gm+1,2:pDim+1)=gBestp;end智能计算及其在数值计算中的应用计算结果(1.0000,-2.0000,-1.0000,3.0000)91页例题3(非线性方程):fitness(kk,1)=abs(Pc(kk,1)3-Pc(kk,1)2-1);计算结果:1.46
10、56非线性方程组:精确解为(4,3,1)智能计算及其在数值计算中的应用智能计算及其在数值计算中的应用for kk=1:pNum a1=abs(Pc(kk,1)Pc(kk,2)+Pc(kk,2)Pc(kk,1)-5*Pc(kk,1)*Pc(kk,2)*Pc(kk,3)-85);a2=abs(Pc(kk,1)Pc(kk,3)-Pc(kk,2)Pc(kk,3)-Pc(kk,3)Pc(kk,2);a3=abs(Pc(kk,1)Pc(kk,3)+Pc(kk,3)Pc(kk,1)-Pc(kk,2)-2);fitness(kk,1)=(a1+a2+a3);end计算结果(4.0000,3.0000,1.00
11、00)智能计算及其在数值计算中的应用声线参数反演算例计算结果:最优适应度值对应的粒子数(万)计算时间(s)收敛次数最优适应度值137.627140.7920(2.0262,4.0334,143.6718,51.6699,0.0659,3.2888)5188.316261.0484e-6(2.0275,4.0376,143.8059,51.7189,0.0661,3.2889)10383.203392.2578e-10(2.0275,4.0378,143.8061,51.7189,0.0661,3.2889)18700.313505.5128e-16(2.0275,4.0378,143.8061
12、,51.7189,0.0661,3.2889)参考文献:参考文献:l1 曾建潮,介婧,崔志华。微粒群算法。科学出版社,2004l2 施光燕,董加礼。最优化方法。高等教育出版社,1999l3 周明,孙树栋。遗传算法原理及应用。国防工业出版社,1999l4 张文修,梁怡。遗传算法的数学基础。西安交通大学出版社,2000l5 李守巨,刘迎曦,孙伟。智能计算与参数反演。科学出版社,2008l6 焦李成,杜海峰,刘芳,公茂果。免疫优化计算、学习与识别。科学出版社,2007l7 Sun J,Feng B,Xu WB.Particle swarm optimization with particles having quantum behavior.IEEE Con.Evolutionary Computation.2004:325-331Pl8 方伟,孙俊,谢振平 等.量子粒子群优化算法的收敛性分析及控制参数研究.物理学报,2010,59(6):3687-3694页l9 杨坤德。水声阵列信号的匹配场处理。西北工业大学出版社,2008智能计算及其在数值计算中的应用
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1