arcechen的个人博客分享 http://blog.sciencenet.cn/u/arcechen

博文

逆迭代法求解广义特征值问题的第一阶特征值MATLAB程序

已有 7014 次阅读 2010-8-9 22:00 |个人分类:未分类|系统分类:科研笔记| MATLAB, 逆迭代法, 特征值

function [V,d] = InvIteration(K,M,epslon)
%    [V,d]=InvIteration(K,M)
%    k * V=d * M * V
%输入参数
%    K,M----维数相同的方阵
%    epslon--计算要求的精度
%  返回值
%    V----特征向量
%    d----特征值

ys = diag(M);
s = 0;
while 1
    s = s+1;
    xs1 = Kys;
    ys1 = M*xs1;
    if s == 1
        ros = transpose(xs1)*ys/(transpose(xs1)*ys1);
    else
        ros1 = transpose(xs1)*ys/(transpose(xs1)*ys1);
        if abs(ros1-ros)/ros1 <= epslon
            break;
        else
            ros = ros1;
        end
    end
    ys = ys1 / (transpose(xs1)*ys1)^(1/2);
end
d=ros1;
V=xs1/(transpose(xs1)*ys1)^(1/2);
return
   



https://blog.sciencenet.cn/blog-465602-351460.html


下一篇:关于安装Matlab2010b时出现的一个问题
收藏 IP: .*| 热度|

1 杨华磊

发表评论 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-19 06:20

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部