in desperate need for help (Trigonometric equation)

조회 수: 1 (최근 30일)
solo gouda
solo gouda 2019년 1월 5일
댓글: Jan 2019년 1월 16일
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