查看单个帖子
旧 2009-01-06, 19:07   #1
maizi
初级会员
 
注册日期: 2009-01-06
年龄: 40
帖子: 2
声望力: 0
maizi 正向着好的方向发展
默认 [求助]这个方程组怎么迭代?急!

我要求个方程组在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!
请问这个方程组怎样迭代求解?看书上也没明白怎样来迭代,是有什么指令还是怎么编写迭代程序。很着急啊!哪位高手帮忙指点下啊
maizi 当前离线   回复时引用此帖