
How can I calculate the value in an equation?
    7 次查看(过去 30 天)
  
       显示 更早的评论
    
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.
0 个评论
采纳的回答
  Sam Chak
      
      
 2022-4-26
        Please verify if the nonlinear equation is correct.

Looks like there are no real solutions for this one.
4 个评论
  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,
 has a limit,  .
.
 has a limit,
 has a limit,  .
.So, if  , then it has roots. Please check again.
, then it has roots. Please check again.
 , then it has roots. Please check again.
, 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
      
      
 2022-4-26
        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))
0 个评论
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Acoustics, Noise and Vibration 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


