Как я могу найти точки пересечения cp и cp_p_g на оси M? - PullRequest
2 голосов
/ 29 мая 2020
import numpy as np
import matplotlib.pyplot as plt 

Cp_0=-0.464   
M=np.arange(0.3,1,0.1) #Mach number for range<0.3-1>
Cp=(2/(1.4*M**2))*(((1+0.2*M**2)/(1.2))**3.5-1) #Aerodynamic relation for isentropic flow
Cp_p_g=Cp_0/((1-M**2)**0.5) #prandtl-Glauert rule

plt.plot(M,Cp)
plt.plot(M,Cp_p_g)
plt.grid("major")
plt.title('NACA**-***') #Title varies on the NACA profiles that we work
plt.xlabel("M")
plt.ylabel("Cp")

кривые cp и cp_p_g

Я добавил график из двух кривых, cp и cp_p_g, для лучшего понимания проблемы

1 Ответ

3 голосов
/ 29 мая 2020

Вы можете уточнить сетку x, используя linspace, а затем искать разницу между двумя кривыми

M = np.linspace(0.3, 1, 200)

# Remaining code

idx = np.argmin(np.abs(Cp_p_g-Cp))

plt.axvline(M[idx], c='k', ls='--')
plt.axhline(Cp_p_g[idx], c='k', ls='--')

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...