Vpa Solve solving for B

5 次查看(过去 30 天)
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

采纳的回答

Walter Roberson
Walter Roberson 2021-10-24
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 个评论
Benneth Perez
Benneth Perez 2021-10-25
编辑:Benneth Perez 2021-10-25
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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Calculus 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by