Eigenvector problem with complex conjugate eigenvalues
古いコメントを表示
Hello, im solving here a viscous damping problem. As you can see det(A) is the equation that must be solved in order to obtain the eigenvalues of the problem. My issue is after having all 10 eigenvalues (20 with their conjugates) i do not know exactly how to make MATLAB calculate me the eigenvectors of the problem, given that im not using the 'eig' command.
M=[1 0 0 0 0 0 0 0 0 0;
0 1 0 0 0 0 0 0 0 0;
0 0 1 0 0 0 0 0 0 0;
0 0 0 1 0 0 0 0 0 0;
0 0 0 0 1 0 0 0 0 0;
0 0 0 0 0 2 0 0 0 0;
0 0 0 0 0 0 3 0 0 0;
0 0 0 0 0 0 0 3 0 0;
0 0 0 0 0 0 0 0 4 0;
0 0 0 0 0 0 0 0 0 1];
K=[1 -1 0 0 0 0 0 0 0 0;
-1 3 0 0 0 0 -2 0 0 0;
0 0 3 -1 0 0 0 -2 0 0;
0 0 -1 1 0 0 0 0 0 0;
0 0 0 0 1 -1 0 0 0 0;
0 0 0 0 -1 3 -2 0 0 0;
0 -2 0 0 0 -2 8 -4 0 0;
0 0 -2 0 0 0 -4 11 -5 0;
0 0 0 0 0 0 0 -5 10 -5;
0 0 0 0 0 0 0 0 -5 5];
F=[1 -1 0 0 0 0 0 0 0 0;
-1 2 0 0 0 0 -1 0 0 0;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0;
0 -1 0 0 0 0 2 -1 0 0;
0 0 0 0 0 0 -1 1 0 0;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0];
f=2/50;
m=8;
k=2000;
Mv=m*M;
Fv=f*F;
Kv=K*k;
syms s phi
A=s^2*Mv +s*Fv+ Kv;
r=det(A);
s=double(subs(solve(r)));
for i=1:20
A=s(i)^2*Mv +s(i)*Fv+ Kv;
eqn= A*phi==0;
Mod(i)=double(subs(solve(eqn,phi)));
end
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Linear Algebra についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!