24小时热门版块排行榜    

查看: 302  |  回复: 3
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 wuhaoshrek 的 3 个金币
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wuhaoshrek

金虫 (初入文坛)

[交流] 【求助】大家帮我看看这个程序啊?改进的乘幂法

我编的改进的乘幂法,算一般的矩阵特征值和特征向量是没有问题的,但是求三对角矩阵,如   
                      2    -1     0     0     0     0  
                     -1     2    -1     0     0     0
                      0    -1     2    -1     0     0
                      0     0    -1     2    -1     0
                      0     0     0    -1     2    -1
                      0     0     0     0    -1     2     时,就总是会出错啊,不知道怎么回事啊?谢谢大家了!
源程序:
function [mt,my]=maxtr2(A,ep)
n=length(A);
v0=ones(n,1);
[p0,I0]=max(abs(v0));
p0=p0*sign(v0(I0));
v=A*v0;
[p,I]=max(abs(v));
p=p*sign(v(I));
k=1;
while abs(p-p0)>ep;
    v0=v;
    p0=p;
    u=v/p;
    v=A*u;
    [p,I]=max(abs(v));
    p=p*sign(v(I));
    k=k+1;
end
mt=p;
my=u;
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuhaoshrek

金虫 (初入文坛)

引用回帖:
Originally posted by wuhaoshrek at 2009-12-24 23:43:

就是你这个程序去算一下特征值看看,如果是一般的矩阵的话是可以算的,但是求三对角矩阵的时候,就像我举例的那种主对角线是2,两边是-1其余是0的三对角矩阵,程序提示错误!你在MATLAB里面运行一下就会发现了! ...

大家MATLAB里运行下就会发现有出错了~~
4楼2009-12-24 23:44:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

wuhaoshrek

金虫 (初入文坛)


nono2009(金币+1,VIP+0):平安夜,辛苦了! 12-24 23:47
引用回帖:
Originally posted by 孤鸿飘逸 at 2009-12-24 18:57:
清楚点看不懂

就是你这个程序去算一下特征值看看,如果是一般的矩阵的话是可以算的,但是求三对角矩阵的时候,就像我举例的那种主对角线是2,两边是-1其余是0的三对角矩阵,程序提示错误!你在MATLAB里面运行一下就会发现了!!讲的很清楚了啊~~~
3楼2009-12-24 23:43:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见