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개)

Walter Roberson
Walter Roberson 2019년 2월 28일

0 개 추천

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에 대해 자세히 알아보기

질문:

2019년 2월 28일

답변:

2019년 2월 28일

Community Treasure Hunt

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

Start Hunting!

Translated by