I am trying to solve for unknown variable P in the following code. I determined value of P= 2.945e-5 manually. However, I am not getting that value with the code. As a matter of fact, if I change the constant (1.9664e+08) in the sigma equation, the result is not changing.
Can anyone help in this?
%Constants
L= 300e-6;
O= 5e-6;
theta= atan(2*O/L);
E= 188e9;
w= 1.57e-6;
h= 2.5e-6;
I= (h*w^3)/12;
L_0 = (L/2)*(tan(theta))^2;
%Calculations
syms P real
k= sqrt(P/(E*I));
G= tan((k*L)/4);
L_p= ((tan(theta))^2/(4*k))*( 2*G + k*L + k*L*G^2 + sin(k*L) - 2*G*cos(k*L) - G^2*sin(k*L));
delta_L = L_p - L_0;
sigma = (E/L)*(delta_L + ((P*L)/(E*w*h))) -1.9664e+08==0;
F = vpasolve(sigma, P)

 채택된 답변

Walter Roberson
Walter Roberson 2022년 7월 19일

0 개 추천

vpasolve(sigma, [0 .5e-4])
There is a discontinuity before 1e-4 so if you do not confine the search range the discontinuity can cause search failures

댓글 수: 3

Md Shariful Islam
Md Shariful Islam 2022년 7월 19일
Thanks a lot!
It is working. However, I am not clear about the problem you mentioned, as I am a new matlab user. I will search online on that, btw. Thanks again.
fplot(lhs(sigma), [0 1e-4])
Notice how the plot goes up to about 1e11 in the middle
Md Shariful Islam
Md Shariful Islam 2022년 7월 19일
I see!
Thanks for your help.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Programming에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by