how can I solve this problem

5 views (last 30 days)
Gloria
Gloria on 31 Jul 2022
Commented: Star Strider on 31 Jul 2022
v=0.001;
L=0.084;
D=0.042;
R=0.02;
C=0.001;
sm= v*N*L*R*L^2/(4*W*C^2);
sm=(1-p^2)^2/p*((16*p^2+pi^2*(1-p^2))^0.5;
p=?

Accepted Answer

Star Strider
Star Strider on 31 Jul 2022
Edited: Star Strider on 31 Jul 2022
I have no idea what you want, especially with two expressions for ‘sm’ and several variables undefined, so taking a wild guess —
syms N W p
sympref('AbbreviateOutput',false);
v=0.001;
L=0.084;
D=0.042;
R=0.02;
C=0.001;
sm1 = v*N*L*R*L^2/(4*W*C^2);
sm = (1-p^2)^2/p*(16*p^2+pi^2*(1-p^2))^0.5 == sm1;
ps = solve(sm, p, 'ReturnConditions',1)
ps = struct with fields:
p: [10×1 sym] parameters: [1×0 sym] conditions: [10×1 sym]
p = ps.p
p = 
condx = ps.conditions
condx = 
To get a numerical result, supply values for the currently undefined variables, then one of these:
p = vpa(ps.p)
p = double(ps.p)
depending on the desired result.
EDIT — Corrected typographical error. .
  6 Comments

Sign in to comment.

More Answers (1)

Matt J
Matt J on 31 Jul 2022
Edited: Matt J on 31 Jul 2022
Are N and W known variables? Your code does not provide them, but if they are known, you can reorganize as a polynomial and use roots,
v=0.001;
L=0.084;
D=0.042;
R=0.02;
C=0.001;
N=1;W=1; %fake
sm= v*N*L*R*L^2/(4*W*C^2);
syms p
pol=sym2poly( sm^2*p^2*(16*p^2+pi^2*(1-p^2)) - (1-p^2)^4 )
pol = 1×9
-1.0000 0 4.0000 0 -5.9999 0 4.0001 0 -1.0000
p=roots(pol) %the solutions
p =
-1.0550 + 0.0000i -0.9994 + 0.0544i -0.9994 - 0.0544i -0.9461 + 0.0000i 1.0550 + 0.0000i 0.9994 + 0.0544i 0.9994 - 0.0544i 0.9461 + 0.0000i

Community Treasure Hunt

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

Start Hunting!