非线性方程组求解问题
有个非线性方程组的求解问题,一直没有解决掉,请各位帮帮忙请详细说明下。最好有程序,我对MATLAB数值计算不怎么理解。方程组如下:= ...
('x1^2+y1^2+z1^2=75515.04','x2^2+y2^2+z2^2=47698.56','x3^2+y3^2+z3^2=48620.25',...
'x4^2+y4^2+z4^2=33160.41','x5^2+y5^2+z5^2=219117.61','(x1-x2)^2+(y1-y2)^2+(z1-z2)^2=36902.41',...
'(x1-x3)^2+(y1-y3)^2+(z1-z3)^2=25027.24','(x1-x4)^2+(y1-y4)^2+(z1-z4)^2=157212.25',...
'(x1-x5)^2+(y1-y5)^2+(z1-z5)^2=90721.44','(x2-x3)^2+(y2-y3)^2+(z2-z3)^2=25058.89',...
'(x2-x4)^2+(y2-y4)^2+(z2-z4)^2=156816','(x2-x5)^2+(y2-y5)^2+(z2-z5)^2=89760.16',...
'(x3-x4)^2+(y3-y4)^2+(z3-z4)^2=133225','(x3-x5)^2+(y3-y5)^2+(z3-z5)^2=66254.76',...
'(x4-x5)^2+(y4-y5)^2+(z4-z5)^2=384400')
15个未知数,15个方程。要是用fsolve。我不知道如何猜初值,也不知道其收敛性如何!! 猜初值?初值是猜得吗?呵呵
回复 沙发 咕噜噜 的帖子
呵呵。。。。大家帮我想想办法,我现在急着把这个方程组解出来。在线等。。。。。。。。。。。:time: 根据前面的方程 ('x1^2+y1^2+z1^2=75515.04','x2^2+y2^2+z2^2=47698.56','x3^2+y3^2+z3^2=48620.25',...'x4^2+y4^2+z4^2=33160.41','x5^2+y5^2+z5^2=219117.61' 可以初步判断出这15个参数的取值范围;然后在这个取值范围内人为多取几组初值,也可在这个范围内利用rand随机取值+多次运算,然后看求解效果如何... 你这个求导数比较容易,建议利用导数信息。 具体如何使用fsolve,相信你已经看help的解释了,建议你再认真看看,尽可能的利用该命令提供的功能,提高搜索到解的概率。 不管函数是显式的还是隐式的,MATLAB都能解决非线性最小二乘问题。
问题是,怎么定义数学模型,目标函数,初值
数学模型,这个不好说,目前研究太浅。。。
目标函数不一样,收敛特性不一样,甚至不收敛;
初值不合理,可能不收敛,也可能 局部收敛,不是全局最优解,初值不同,收敛解不同。。。
页:
[1]