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)

回答(1 个)

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.

类别

帮助中心File Exchange 中查找有关 Operators and Elementary Operations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by