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.

2 ビュー (過去 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.

採用された回答

Alan Stevens
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)))
132.0221

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by