eig(a,b) matlab symbolic

33 次查看(过去 30 天)
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
Sam Chak 2023-3-17
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 个评论
mohamdi mohamed
mohamdi mohamed 2023-4-17
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 2023-4-18
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.

请先登录,再进行评论。

更多回答(1 个)

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

类别

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