Solving for angle (Beta) using vpasolve

조회 수: 3 (최근 30일)
Benneth Perez
Benneth Perez 2021년 10월 24일
댓글: Star Strider 2021년 10월 24일
Hello I'm trying to see why I'm not getting the correct angle when i Solve for the following equation. I'm not sure if this is due to a coding error that I dont see or if has to do with an angle property like the refence angle.
The equation I'm solving for is the following the resul i get is
beta =
-196.3722
However if im not mistaken the answer i should get is 23.13 deg.
M1 = 3;
P1 = 1;
theta2 = 5;
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 = vpasolve(eqn == tantheta,beta);
beta = result

채택된 답변

Star Strider
Star Strider 2021년 10월 24일
That’s the result I get when I solve it (and then correct it by ) —
M1 = 3;
P1 = 1;
theta2 = 5;
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
beta = 
23.133257450785606135761291258498
.
  댓글 수: 5
Walter Roberson
Walter Roberson 2021년 10월 24일
vpasolve() uses a modified Newton-Raphson algorithm. It might need to take the derivative of the function internally first.
Star Strider
Star Strider 2021년 10월 24일
As always, my pleasure!
I looked at the linked Question, and posted an Answer (of sorts) to it, although I could not find a symbolic solution for it.
.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Numeric Solvers에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by