f2_2.m

来自「利用幂法反幂法等进行程序运算,可以获得各种适用结果.」· M 代码 · 共 52 行

M
52
字号
function f1(A,Y0,e,m)
n=size(A);n=n(1);
Y=zeros(n,m);
X=zeros(n,m+1);
Y(:,1)=Y0;
k=1;
while k<=m
    X(:,k+1)=A*Y(:,k);
    Y(:,k+1)=X(:,k+1)/norm(X(:,k+1),inf);
    k=k+1;
end
X(:,2:m+1)
r=input('观察后确定方法') ;
if r==1
    j=1;u=0;Y1=Y(:,1);
    while j<=m
        X1=A*Y1;
        t=max(X1);
        Y1=X1/t;
        if abs(t-u)<e
            t,Y1,j
            return
        end
        j=j+1;u=t;
    end
    if j>m
        'error,超出迭代次数'
    end
    return
elseif r==2
    Y1=Y(:,1);u=0;j=1;
    while j<=m
        X1=A*A*Y1;
        t=max(X1);
        Y1=X1/t;
        if abs(t-u)<e
            t1=sqrt(t);t2=-t1;
            v1=A*Y1+t1*Y1;
            v2=A*Y1-t1*Y1;
            t1,t2,v1,v2,j
            return
        end
        j=j+1;
        u=t;
    end
    if j>m
        'error,超出迭代次数'
    end
    return 
end
end

⌨️ 快捷键说明

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