Solving Determinant w/ Symbolic Values?
16 次查看(过去 30 天)
显示 更早的评论
I essentially have this determinant here that I need to solve:

Just not sure how to do it symbolically in MATLAB without values...
Also, is there a way that I could then solve for w(omega) smybolically?
0 个评论
采纳的回答
Star Strider
2014-10-29
syms m1 m2 k1 k2 w
M = [(-m1*w^2 + k1) (-k1); (-k1) (-m2*w^2 + k1 + k2)];
detM = det(M);
w = solve(detM,w)
4 个评论
Aditya Vikram Singh
2021-9-5
@Star Strider can you please also tell how to obtain the fourth degree equation in omega here with coeffiecient of each term in omega.
更多回答(3 个)
Carlen
2014-10-29
编辑:Carlen
2014-10-29
1 个评论
Star Strider
2014-10-29
My pleasure!
Probably the easiest way to solve for w^2 is simply to substitute w2 for it:
syms m1 m2 k1 k2 w w2
M = [(-m1*w2 + k1) (-k1); (-k1) (-m2*w2 + k1 + k2)];
detM = det(M);
w2 = solve(detM, w2)
That produces two quadratic roots.
If you want to use the roots as a function in other MATLAB code, use matlabFunction and its friends. It is much easier than coding it yourself, and it also vectorises the expression in the process.
For example:
wsq = matlabFunction(w2);
detmat = wsq(3, 5, 7, 13);
will produce a (2x1) vector of solutions.
Caio Contezini
2020-11-18
Star Strider, how can I solve that if I dont have Symbolic Math Toolbox?
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!