in desperate need for help (Trigonometric equation)

2 views (last 30 days)
Good people of the internet,
I really need your help in solving this equation:
>> al=(((10^4+g^4)^0.5 -10^2)^0.5)*L;
>> bl=(((10^4+g^4)^0.5 +10^2)^0.5)*L;
>> char=2*al*bl*(1-cos(al)*cosh(bl))+(bl^2-al^2)*sin(al)*sinh(bl)
eqn=char==0
- sin(L*((g^4 + 10000)^(1/2) - 100)^(1/2))*sinh(L*((g^4 + 10000)^(1/2) + 100)^(1/2))*(L^2*((g^4 + 10000)^(1/2) - 100) - L^2*((g^4 + 10000)^(1/2) + 100)) - 2*L^2*(cos(L*((g^4 + 10000)^(1/2) - 100)^(1/2))*cosh(L*((g^4 + 10000)^(1/2) + 100)^(1/2)) - 1)*((g^4 + 10000)^(1/2) - 100)^(1/2)*((g^4 + 10000)^(1/2) + 100)^(1/2) == 0
It's the characteristic equation of a 4x4 matrix. The infinite sollutions of this equation represent the dimensionless eigenfrequencies g(L) of an oscillating, clamped clamped beam with axial load.
My aim is to find the first 4 (lowest) eigenfrequencies depending on the length of the beam.
I've tried everything I can think of I am a beginner and I find it really difficult.
fsolve requires a guess, and I can't predict the periodicity of this function
I tried to get an analytical sollution with
s=solve(eqn,g,'return conditions',true)
Please someone enlighten me.
Thanks in advance.
  4 Comments
Walter Roberson
Walter Roberson on 5 Jan 2019
When L is an integer, there appears to be L+1 positive roots for g^4 (counting 0). The largest root can be on the order of 14000. The slopes are numerically relatively steep, making it difficult to find numeric solutions for given L.
Jan
Jan on 16 Jan 2019
@solo gouda: The nature of this forum is to share questions and solutions. After an answer was given by a member of the community, it is impolite to remove essential parts of the question, because the thread becomes meaningless afterwards.

Sign in to comment.

Answers (1)

David Goodmanson
David Goodmanson on 6 Jan 2019
Edited: David Goodmanson on 7 Jan 2019
Hi solo,
In situations like this it never hurts to plot out the function to see the zero crossings. I don't think people do that enough. Plotting gives you an idea of the regions to specify for the fzero or fsolve functions.
The amplitude of the function y (your char) rapidly increases with g. Since you are only trying to find the zero crossings, it helps to almost-normalize the function by dividing by cosh(bl) which is rapidly increasing in the same manner. That works since cosh is never zero for real argument.
L = 5;
g = 0:.001:14;
al=(((10^4+g.^4).^0.5 -10^2).^0.5)*L;
bl=(((10^4+g.^4).^0.5 +10^2).^0.5)*L;
y = 2*al.*bl.*(1-cos(al).*cosh(bl))+(bl.^2-al.^2).*sin(al).*sinh(bl);
y = y./cosh(bl);
figure(1)
plot(g,y)
I believe that there are an unlimited number of roots for most positive values of L, probably all of them. For L=5 there are 17 zero crossings for g<14, not counting the one at g=0. As you would expect, as L decreases the frequencies of the roots increase and vice versa.
  1 Comment
solo gouda
solo gouda on 6 Jan 2019
you are a true hero of the internet. i tried to do complex things and didnt think of the 1-1 of math. Plots. thank you for pointing out the obvious. have a nice one

Sign in to comment.

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!