eig(a,b) matlab symbolic

30 visualizzazioni (ultimi 30 giorni)
mohamdi mohamed
mohamdi mohamed il 17 Mar 2023
Commentato: Sam Chak il 18 Apr 2023
hi, need some help
How do you find the eigenvalues of 2 symbolic matrix in Matlab?
i have this:
syms k1 k2 kx m1 m2 W
K = [ k1 + kx -kx 0
-kx k2 + kx -k2
0 -k2 k2]
M =[ 2*m1 0 0
0 2*m2 m2
0 m2 2*m2]
[V,D]=eig(K,M);
it retun me
Error using sym/eig
Too many input arguments.
but when i give value to k1 k2 m1 m2 its work
i need D with symbolic value some one can help me please

Risposta accettata

Sam Chak
Sam Chak il 17 Mar 2023
Are you looking for the analytical solution like this?
syms k1 k2 kx m1 m2
K = [k1+kx -kx 0;
-kx k2+kx -k2;
0 -k2 k2]
K = 
M =[2*m1 0 0;
0 2*m2 m2;
0 m2 2*m2]
M = 
[V, Lambda] = eig(M*inv(K))
V = 
Lambda = 
  4 Commenti
mohamdi mohamed
mohamdi mohamed il 17 Apr 2023
can you please tell me how did you do this
i try to do it by my self
and its look very hard very long very complicate
how did you make this simplification
Sam Chak
Sam Chak il 18 Apr 2023
Since you asked for a symbolical solution for eigenvalues, then that's the one produced by MATLAB eig() function that requires solving 3rd-degree polynomial equation. A 3rd-degree polynomial has analytical solutions. However, because there are many other parameters in the matrices, the given solution looks complicated.
I think the solution is already in the simplest form, as I don't find any terms that can be cancelled out or reducible. If you wish to solve it by hand, please look up Cardano's formula.

Accedi per commentare.

Più risposte (1)

mohamdi mohamed
mohamdi mohamed il 17 Mar 2023
i find this way
Dyn= M*inv(K)
[V,lambda]=eig(Dyn)

Community Treasure Hunt

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

Start Hunting!

Translated by