# eig(a,b) matlab symbolic

7 views (last 30 days)
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

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 = 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.

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