Clear Filters
Clear Filters

Why is this matlab program not able to solve accurately?

1 view (last 30 days)
syms E_b I_b omega m2 J pho_b A_b l
beta = (omega^2*pho_b*A_b/(E_b*I_b))^(1/4);
B=[E_b*I_b*(-beta^3*cos(beta*l)-beta^3*cosh(beta*l))+m2*omega^2*(sin(beta*l)-sinh(beta*l)),E_b*I_b*(beta^3*sin(beta*l)-beta^3*sinh(beta*l))+m2*omega^2*(cos(beta*l)-cosh(beta*l));
E_b*I_b*(-beta^2*sin(beta*l)-beta^2*sinh(beta*l))-J*omega^2*(sin(beta*l)-sinh(beta*l)),E_b*I_b*(-beta^2*cos(beta*l)-beta^2*cosh(beta*l))-J*omega^2*(cos(beta*l)-cosh(beta*l)) ]
B = 
eqn=det(B)==0
eqn = 
solve(eqn,omega)
Warning: Unable to find explicit solution. For options, see help.
ans = Empty sym: 0-by-1

Accepted Answer

Torsten
Torsten on 16 Jun 2024
Edited: Torsten on 16 Jun 2024
Some equations cannot be solved analytically because they are too complicated or because there are no functions available that can be used to express the solution. Yours seems to be one of them.
E.g. this simple-looking equation already fails to be solved:
syms a x
eqn = exp(x) - a*cos(x) == 0
eqn = 
solve(eqn,x)
Warning: Unable to find explicit solution. For options, see help.
ans = Empty sym: 0-by-1
You will need to give values to the parameters and solve the equation numerically using "fzero" or "fsolve".
  3 Comments
Torsten
Torsten on 16 Jun 2024
Edited: Torsten on 16 Jun 2024
I don't understand your comment.
You try to get a general solution for "omega" in terms of unspecified parameters E_b I_b m2 J pho_b A_b l. This will not work.
The only other method is to give numerical values for E_b I_b m2 J pho_b A_b l and solve the resulting equation in the only remaining unknown "omega" using MATLAB's "fzero" or "fsolve".
fayu
fayu on 18 Jun 2024
I've been trying to find the exact solution to it before (using an alphabetical representation), I see what you mean, I'll solve it later after using numerical substitution.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!