フィルターのクリア

Why doesnt e1 converges to zero

1 回表示 (過去 30 日間)
MAJED
MAJED 2014 年 7 月 21 日
編集済み: Roger Stafford 2014 年 7 月 21 日
this my code for the power irritation
% A is the Student Matrix after adding the three students
clear all
A = load('student_adjacency.txt');
[b, eval]=eigs(A,1);
k=1;
b0 = rand(30,1);
e1 = 1;
while e1 > 10E-6
b1 = (A*b0)/norm(A*b0);
e0=norm((b0-b));
e1=norm((b1-b))
r=e1/e0;
b0 = b1;
k=k+1;
end
so why don't e1 go to zero

回答 (1 件)

Roger Stafford
Roger Stafford 2014 年 7 月 21 日
編集済み: Roger Stafford 2014 年 7 月 21 日
Eigenvectors are not uniquely determined even if normalized. For real-valued vectors they may be either of two opposite directions. For complex-valued vectors they can differ by any arbitrary complex factor of magnitude 1. Thus, your algorithm may not converge to the particular 'b' which 'eigs' has returned. It depends on the random vector you start with. For the real-valued case I would say your odds of success are about 50-50.

カテゴリ

Help Center および File ExchangeGet Started with Phased Array System Toolbox についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by