Finding roots of a hyperbolic function

I have a problem that states when L=4.2m, the function 1+cosh(B*L)cos(B*L)=0 should return 2 positive roots? I have attempted the following, but i am given a negative value. Please help
L=4.2
syms B
eqn=1+cosh(B.*L).*cos(B.*L)==0
solx=solve(eqn,B)

Réponses (1)

Walter Roberson
Walter Roberson le 28 Fév 2019

0 votes

The cos(B*L) is going to alternate between positive and negative every Pi radians, so every Pi/L in terms of B. The cosh() part just keeps increasing.
Therefore there will be an infinite number of roots, not just 2 roots. You can use vpasolve() passing in search ranges if you need to isolate two particular values.

Catégories

En savoir plus sur Operators and Elementary Operations dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by