当前位置:   article > 正文

利用牛顿迭代法和雅克比迭代法解决实际问题_解实际问题迭代法

解实际问题迭代法

建立shuzhi.m 文件如下:(把非线性方程组保存到shuzhi.m 文件中)

function F=shuzhi(X)
x=X(1);
y=X(2);
F=zeros(1,2);
F(1)=x.^2-2*x-y+0.5;
F(2)=x.^2+4*y.^2-4
end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

建立jacobi.m 文件如下:(把非线性方程组的雅可比矩阵保存到jacobi.m 文件中)

function J=jacobi(X)
x=X(1);
y=X(2);
J=[2*x-2 -1;2*x 8*y];
end
  • 1
  • 2
  • 3
  • 4
  • 5

建立ma_nl_newton.m 文件如下:

function [p,iter,err]=ma_nl_newton(F,J,p,delta,epsilon,max1)
y=feval(F,p);
for k=1:max1
    j=feval(J,p);
    q=p-(j\y')';
    z=feval(F,q);
    err=norm(q-p);
    relerr=err/(norm(q)+eps);
    p=q;
    y=z;
    iter=k;
    if(err<delta)|(relerr<delta)|(abs(y)<epsilon)
        break
    end
end
end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在命令窗口输入如下:

>> ma_nl_newton('shuzhi','jacobi',[2 0.25],0.001,0.01,100)

F =

    0.2500    0.2500


F =

    0.0088    0.0244


F =

   1.0e-04 *

    0.3091    0.3754


ans =

    1.9007    0.3112
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/176806
推荐阅读
相关标签
  

闽ICP备14008679号