Why is this matlab program not able to solve accurately?

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

 채택된 답변

Torsten
Torsten 2024년 6월 16일
편집: Torsten 2024년 6월 16일
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

Thank you for your reply, there is a solution in terms of reasoning, I think this formula is too complicated, but the analytical solution is not precise enough, want to use the form of function expression, there are other methods?
Torsten
Torsten 2024년 6월 16일
편집: Torsten 2024년 6월 16일
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".
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.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Mathematics에 대해 자세히 알아보기

질문:

2024년 6월 16일

댓글:

2024년 6월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by