Filter löschen
Filter löschen

Why is this matlab program not able to solve accurately?

1 Ansicht (letzte 30 Tage)
fayu
fayu am 16 Jun. 2024
Kommentiert: fayu am 18 Jun. 2024
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

Akzeptierte Antwort

Torsten
Torsten am 16 Jun. 2024
Bearbeitet: Torsten am 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 Kommentare
Torsten
Torsten am 16 Jun. 2024
Bearbeitet: Torsten am 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 am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by