Hello, how to solve this equation E*I*k^4-m*v^2*k^2+2*m*v*w*k+(m+M)w^2=0 numerically where w is variable,
1 次查看(过去 30 天)
显示 更早的评论
can we solve this for k numerically, sorry this is fourth order equation not two order
Thanks
0 个评论
采纳的回答
Star Strider
2019-12-10
编辑:Star Strider
2019-12-10
Supply all the scalar parameters, then:
Eqn = @(w) E*I*k^2-m*v^2*k^2+2*m*v*w*k+(m+M)w^2;
w0 = 42;
[w,fval] = fsolve(Eqn, w0)
Experiment with the correct value of ‘w0’ to get the correct result.
EDIT — (Dec 10 2019 at 13:18)
The Symbolic Math Toolbox produces:
w = (k*(- E*I*k^2*m - E*I*M*k^2 + 2*m^2*v^2 + M*m*v^2)^(1/2) - k*m*v)/(M + m)
or to calculate both roots:
w = [(k*(- E*I*k^2*m - E*I*M*k^2 + 2*m^2*v^2 + M*m*v^2)^(1/2) - k*m*v)/(M + m)
-(k*(- E*I*k^2*m - E*I*M*k^2 + 2*m^2*v^2 + M*m*v^2)^(1/2) - k*m*v)/(M + m)]
11 个评论
Walter Roberson
2019-12-12
syms E I k m v w M
Eqn = E*I*k^4-m*v^2*k^2+2*m*v*w*k+(m+M)*w^2
sol_exact = solve(Eqn, k, 'MaxDegree', 4); %valid for symbolic variables, gives LONG exact solutions
sol_numeric = vpasolve(Eqn, k); %valid only if numeric values are known for everything except k, gives numeric solutions
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Calculus 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!