Getting inaccurate eigenvalue with eig command. Please suggest me some other command or small series of steps to find accurate eigen value for Generalized Eigenvalue Problem.
1 回表示 (過去 30 日間)
古いコメントを表示
% For Generalized Eigenvalue problem Ax = λBx, where A and B are of order 12*12.
A =[ -11.0913 0 0 0 0 0 0 0 0 0 0 0;
0 -25.8957 0 0 0 0 0 0 0 0 0 0;
0 0 -50.5698 0 0 0 0 0 0 0 0 0;
0 0 0 -85.1134 0 0 0 0 0 0 0 0;
0 0 0 0 -129.5266 0 0 0 0 0 0 0;
0 0 0 0 0 -183.8094 0 0 0 0 0 0;
0.5000 0 0 0 0 0 -11.0913 0 0 0 0 0;
0 0.5000 0 0 0 0 0 -25.8957 0 0 0 0;
0 0 0.5000 0 0 0 0 0 -50.5698 0 0 0;
0 0 0 0.5000 0 0 0 0 0 -85.1134 0 0;
0 0 0 0 0.5000 0 0 0 0 0 -129.5266 0;
0 0 0 0 0 0.5000 0 0 0 0 0 -183.8094]
B = [ 0 0 0 0 0 0 -1.5391 -1.6634 0 -0.1331 0 -0.0367;
0 0 0 0 0 0 -1.6634 -1.5391 -1.7965 0 -0.1697 0;
0 0 0 0 0 0 0 -1.7965 -1.5391 -1.8332 0 -0.1848;
0 0 0 0 0 0 -0.1331 0 -1.8332 -1.5391 -1.8483 0;
0 0 0 0 0 0 0 -0.1697 0 -1.8483 -1.5391 -1.8559;
0 0 0 0 0 0 -0.0367 0 -0.1848 0 -1.8559 -1.5391;
0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0]
e1=eig(A,B);
min(e1(e1>-inf)) % extracting minimum of eig(A,B) which is greater than -inf.
= -3.8410e+04 % But exact value in the paper is 132.020.
% Please mention some other command or way or small series of steps to find the the required eigen value as 132.020.
1 件のコメント
採用された回答
Alan Stevens
2022 年 11 月 30 日
Like this:
A =[ -11.0913 0 0 0 0 0 0 0 0 0 0 0;
0 -25.8957 0 0 0 0 0 0 0 0 0 0;
0 0 -50.5698 0 0 0 0 0 0 0 0 0;
0 0 0 -85.1134 0 0 0 0 0 0 0 0;
0 0 0 0 -129.5266 0 0 0 0 0 0 0;
0 0 0 0 0 -183.8094 0 0 0 0 0 0;
0.5000 0 0 0 0 0 -11.0913 0 0 0 0 0;
0 0.5000 0 0 0 0 0 -25.8957 0 0 0 0;
0 0 0.5000 0 0 0 0 0 -50.5698 0 0 0;
0 0 0 0.5000 0 0 0 0 0 -85.1134 0 0;
0 0 0 0 0.5000 0 0 0 0 0 -129.5266 0;
0 0 0 0 0 0.5000 0 0 0 0 0 -183.8094];
B = [ 0 0 0 0 0 0 -1.5391 -1.6634 0 -0.1331 0 -0.0367;
0 0 0 0 0 0 -1.6634 -1.5391 -1.7965 0 -0.1697 0;
0 0 0 0 0 0 0 -1.7965 -1.5391 -1.8332 0 -0.1848;
0 0 0 0 0 0 -0.1331 0 -1.8332 -1.5391 -1.8483 0;
0 0 0 0 0 0 0 -0.1697 0 -1.8483 -1.5391 -1.8559;
0 0 0 0 0 0 -0.0367 0 -0.1848 0 -1.8559 -1.5391;
0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0];
e1=eig(A,B);
disp(min(abs(e1)))
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!