• Matlab-5:牛顿迭代法工具箱


     1 function [f,L]=Newton(f,a)
     2 %this is newton teration whic is used for solving implicit One-dimensional Euler method
     3 %users can used it directly for solve equation.
     4 %the code was writen by HD.dong in january 8 2017.
     5 %--------------------------------
     6 % syms x;
     7 %  %         h='[x^4-4*x^2+4]';
     8 % %     h='[x^3+2*x^2+10*x-20]';
     9 %        h='[x^3-x-1]';
    10 % %  h='[x^3+4*x^2-10]';
    11 % x0=0.6;%users can set any value except zero,because diff(h,x) is Singular when x is zero.
    12 % [X L]=Newton(h,x0);
    13 %--------------------------------------------------------------------
    14 lambda=1;%newton downhill factor
    15 L(1)=lambda;
    16 x0=a;
    17 x1=x0-Jacoi(f,x0)F(f,a)*lambda;
    18 tol=1e-5;
    19 ttol=1e-8;
    20 i=1;
    21  while norm(x1-x0,1)>=tol                
    22          lambda=1;
    23  while abs(F(f,x1))>=abs(F(f,x0)) & lambda>=ttol
    24  lambda=lambda/2;
    25  x1=x0-Jacoi(f,x0)F(f,x0)*lambda;
    26  end
    27    x0=x1;
    28        x1=x0-Jacoi(f,x0)F(f,x0)*lambda;
    29        i=i+1;
    30        L(i)=lambda;
    31  end
    32  f=x1;
    33 function G=Jacoi(f,x0)
    34 syms x;
    35 G=vpa(subs(diff(f,x),'x',x0));
    36 function H=F(f,x0)
    37 H=vpa(subs(f,'x',x0));

     算法推导:

  • 相关阅读:
    指定pdf的格式
    iptables 防火墙
    jumpserver2
    jquery UI
    python 自动化审计
    Jumpserver
    认识二进制安全与漏洞攻防技术 (Windows平台)
    将这段美化的css代码
    pycharm
    android Tips
  • 原文地址:https://www.cnblogs.com/xtu-hudongdong/p/6506041.html
Copyright © 2020-2023  润新知