Eigenvector problem with complex conjugate eigenvalues

2 次查看(过去 30 天)
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

采纳的回答

Torsten
Torsten 2017-4-10
null(A) might help:
https://de.mathworks.com/help/matlab/ref/null.html
Best wishes
Torsten.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Linear Algebra 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by