加载中…
个人资料
June
June
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,024
  • 关注人气:59
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
博文
标签:

非线性方程组

拟牛顿

matlab

教育

分类: MATLAB学习

 

function [r,n]=mulVNewton(x0,A,eps)
if nargin==1 
    A=eye(length(x0));
else
    if nargin==2
        eps=1.0e-4;
    end
end

r=x0-myf(x0)/A;
n=1;
tol=1;
while tol>eps
    x0=r;
    r=x0-myf(x0)/A;
    y=r-x0;
    z=myf(r)-myf(x0);
    A1=A+(z-y*A)’*y/norm(y);
    A=A1;
    n=n+1;
    if(n>100000)
        disp(’迭代步数太多,可能不收敛!’);
        return;
    end
    tol=norm(r-x0);
end

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有