cannot solve for unknown variable

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)

 Accepted Answer

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 Comments

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
I see!
Thanks for your help.

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!