MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]这个方程组怎么迭代?急! (https://www.labfans.com/bbs/showthread.php?t=6166)

maizi 2009-01-06 19:07

[求助]这个方程组怎么迭代?急!
 
[SIZE="4"]我要求个方程组在x0=[3.6,1145863,2994]这附近的解,希望能精确些,我是这样做的
function sm=lx_sm(x)
global t
sm(1)=8/x(1)+sum(log((t-x(3))./x(2)))-sum(((t-x(3))/x(2)).^x(1).*(log((t-x(3))/x(2))));
sm(2)=1/x(2).*sum(((t-x(3))/x(2)).^x(1));
sm(3)=x(1)/x(2).*sum(((t-x(3))/x(2)).^(x(1)-1))-(x(1)-1).*sum(1./(t-x(3)));
end
然后在命令窗口键入
t=[767000,1332000,1333000,865000,841000,1550000,828000,749000];
>> x0=[3.6,1145863,2994];options=optimset('Display','iter');
>> [x,fval] = fsolve('lx_sm',x0)
得出来的数还没有我给的初值精确!这样得出的结果是500,1145900,3000!
[COLOR="Red"]请问这个方程组怎样迭代求解?看书上也没明白怎样来迭代,是有什么指令还是怎么编写迭代程序。很着急啊!哪位高手帮忙指点下啊[/COLOR]![/SIZE]

anbcjys 2009-01-07 10:15

回复: [求助]这个方程组怎么迭代?急!
 
可能命令错误 你可以根据迭代的方法来编程序自己求解 这样不会有问题


所有时间均为北京时间。现在的时间是 11:07

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.