Vpa Solve solving for B

2 views (last 30 days)
Benneth Perez
Benneth Perez on 24 Oct 2021
Edited: Benneth Perez on 25 Oct 2021
Hello,
This is a follow up question to this one. Previous Question
For some reason i was previously getting a different answer using vpasolve and vpa which now works and I get the right answers for solving for the Beta variable. I'm now using the code to solve B for when the values of M1=3 and theta2=15. When i do this i start getting results with imaginary answers.
The correct answer should be something like 32.24 but I'm getting:
beta =
84.4217 + 5.8932e-37i
M1 = 3;
P1 = 1;
theta2 = 15;
thetha3 = 20;
gamma = 1.4;
syms beta
tantheta = tand(theta2);
x = 2*cotd(beta)*((M1^2*((sind(beta))^2)-1));
y = M1^2*(gamma+cosd(2*beta))+2;
eqn = x/y;
result = solve(tantheta == eqn, beta);
beta = vpa(result)+180

Accepted Answer

Walter Roberson
Walter Roberson on 24 Oct 2021
M1 = 3;
P1 = 1;
theta2 = 15;
thetha3 = 20;
gamma = 1.4;
syms beta
tantheta = tand(theta2);
x = 2*cotd(beta)*((M1^2*((sind(beta))^2)-1));
y = M1^2*(gamma+cosd(2*beta))+2;
eqn = x/y;
b0 = 1;
result = vpasolve(tantheta == eqn, beta, b0);
beta = vpa(result)+180
beta = 
212.24040018274467042158222540358
  1 Comment
Benneth Perez
Benneth Perez on 25 Oct 2021
Edited: Benneth Perez on 25 Oct 2021
Hello,
Thank you for the help the solution which im looking for is the first one, should be 32.26. 212 does look like a solution however is not the smallest solution(first solution).
Do you mind telling me whath B0 =1; is for ?
My guess is that this is a first guess for the solution computation?
Follow up: Wow! actually this works! Exactly what my code needed, all i needed to do was remove the 180 and it gives me the solution im looking for. Adding 180 gives me the 4 solution.
Thank you

Sign in to comment.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!