Azzera filtri
Azzera filtri

Eigenvector problem with complex conjugate eigenvalues

2 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

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

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by