登录论坛

查看完整版本 : [求助]这个方程组怎么迭代?急!


maizi
2009-01-06, 19:13
我要求个方程组在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!
请问这个方程组怎样迭代求解?看书上也没明白怎样来迭代,是有什么指令还是怎么编写迭代程序。很着急啊!哪位高手帮忙指点下啊!