查看: 102|回复: 0|关注: 0

[未答复] 解非线性方程牛顿迭代法,为什么迭代不更新

[复制链接]

新手

5 麦片

财富积分


050


1

主题

1

帖子

0

最佳答案
发表于 2019-7-14 16:35:04 | 显示全部楼层 |阅读模式
以下是一个非线性方程的牛顿迭代,但是for的i不循环,即总是初始值在代入计算
能否修改一下循环?
function x=mulNewton(H1,T1,H2,T2,r1,r2)
x=1.2;
eps=0.00001;
for i=1:5
     a1=sum(H1.*(T1.^(x+1)));
     a=1/(x+1)*a1;
     b1=sum(H2.*(T2.^(x+1)));
     b=1/(x+1)*b1;
     c1=sum(H1.*(T1.^(x+1)).*(log(T1)));
     c=1/(x+1)*c1;
     d1=sum(H2.*(T2.^(x+1)).*(log(T2)));
     d=1/(x+1)*d1;
     e1=sum(H1.*(T1.^(x+1)).*((log(T1)).^2));
     e=1/(x+1)*e1;
     g1=sum(H2.*(T2.^(x+1)).*((log(T2)).^2));
     g=1/(x+1)*g1;
     j=sum(log(T1));
     k=sum(log(T2));
     f=j+k-r1*(c/a-1/(x+1))-r2*(d/b-1/(x+1));
     df=r1*(c/a)^2-r1*e/a-r1/((x+1)^2)-r2/((x+1)^2)+r2*(d/b)^2-r2*g/b;
     x0=x-f/df;
     if(abs(x0-x)<eps)
         break;
     end
     x=x0;
end
x0

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表