⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newton迭代法.txt

📁 此程序为MATLAB计算非线性方程组的程序
💻 TXT
字号:
编写Newton迭代法的M文件NewtonIterate.如下:
function s=NewtonIterate(x,eps)
%Newton迭代法求非线性方程组
%x为迭代初值,eps为允许误差值
if nargin==1
    eps=1.0e-6;
elseif nargin<1
    error
    return
end  
x1=fx1(x);%非线性方程组
x2=-dfx1(x);%非线性方程组导数
x3=inv(x2);
x0=x3*x1';
while norm(x0)>=eps %循环迭代
      x=x0'+x;
      x1=fx1(x);
      x2=-dfx1(x);
      x3=inv(x2);
      x0=x3*x1';
end
s=x0'+x;
return
例: x1.^2-10x1+x2.^2+8=0
     x1*x2.^2+x1-10x2+8=0
用MATLAB实现,编写非线性方程组的M文件fx1.m如下所示:
   function y=fx1(x)
   y(1)=x(1)*x(1)-10*x(1)+x(2)*x(2)+8;
   y(2)=x(1)*x(2)*x(2)+x(1)-10*x(2)+8;
   y=[y(1) y(2)];
编写非线性方程组导数的M文件dfx1.m
  function y=dfx1(x)
     y(1)=2*x(1)-10;
     y(2)=2*x(2);
     y(3)=x(2)*x(2)+1;
     y(4)=2*x(1)*x(2)-10;
     y=[y(1) y(2);y(3) y(4)];
     NewtonIterate([0 0])
     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -