eig(a,b) matlab symbolic

33 views (last 30 days)
mohamdi mohamed
mohamdi mohamed on 17 Mar 2023
Commented: Sam Chak on 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

Accepted Answer

Sam Chak
Sam Chak on 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 Comments
mohamdi mohamed
mohamdi mohamed on 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 on 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.

Sign in to comment.

More Answers (1)

mohamdi mohamed
mohamdi mohamed on 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!