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!