gamma=1.4
V_M_2 = 20;
V_M_2 = sqrt((gamma+1)/(gamma-1)) * atan(sqrt((gamma-1)/(gamma+1)*(M_2^2-1)))-atan(sqrt(M_2^2-1))
How can I find the M_2 from this equation? Thank you.

 채택된 답변

Sam Chak
Sam Chak 2022년 4월 26일

2 개 추천

Please verify if the nonlinear equation is correct.
Looks like there are no real solutions for this one.

댓글 수: 4

Ali Deniz
Ali Deniz 2022년 4월 26일
x values will be X^2.
Torsten
Torsten 2022년 4월 26일
x values will be X^2.
Won't make a difference - no roots.
Ali Deniz
Ali Deniz 2022년 4월 27일
That's right, I should find another way. Thank you.
Sam Chak
Sam Chak 2022년 4월 27일
편집: Sam Chak 2022년 4월 27일
@Ali Deniz, Thanks for the correction.
By the way, the nonlinear function has a limit, .
So, if , then it has roots. Please check again.
gamma = 1.4;
V_M_2 = 2.0;
% function to be solved
f = @(x) sqrt((gamma + 1)/(gamma - 1))*atan(sqrt((gamma - 1)/(gamma + 1)*(x^2 - 1))) - atan(sqrt(x^2 - 1)) - V_M_2;
% initial guess
x0 = 20;
% root-finding solver
xsol = fzero(f, x0)
xsol =
17.9584

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

추가 답변 (1개)

Torsten
Torsten 2022년 4월 26일

1 개 추천

I don't see a root:
gamma=1.4
V_M_2 = 20;
fun = @(M_2)V_M_2 - (sqrt((gamma+1)/(gamma-1)) * atan(sqrt((gamma-1)/(gamma+1)*(M_2-1)))-atan(sqrt(M_2-1)));
M_2 = -20:0.1:200;
plot(M_2,fun(M_2))

카테고리

질문:

2022년 4월 26일

편집:

2022년 4월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by