mulvnewton.m

来自「《精通MATLAB科学计算》一书的实例源代码」· M 代码 · 共 26 行

M
26
字号
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

⌨️ 快捷键说明

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