in desperate need for help (Trigonometric equation)

2 次查看(过去 30 天)
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 个评论
Walter Roberson
Walter Roberson 2019-1-5
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 2019-1-16
@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.

请先登录,再进行评论。

回答(1 个)

David Goodmanson
David Goodmanson 2019-1-6
编辑:David Goodmanson 2019-1-7
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 个评论
solo gouda
solo gouda 2019-1-6
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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Mathematics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by