нашел решение, которое работает. thrust_req - это тяга, которую вы хотите, thrust_val - это выход интерполяции для настройки тестового газа. x0 - начальное предположение для настройки газа. Цель состоит в том, чтобы найти настройку газа, которая делает интерполированное thrust_val = thrust_req.
def throttle_req(self, alpha, Mach, alt, thrust_req,x0):
''' Calculates steady flight at the given conditions
Solves for altitude and throttle required
'''
def f(x,alpha,Mach,alt,thrust_req):
throttle = x[0]
thrust_val = self.ramjet_deck['thrust']((alpha,Mach,alt,throttle))
return 10*(thrust_val-thrust_req)**2
opt = minimize(f,x0, args=(alpha,Mach,alt,thrust_req), bounds=[(0.,1.)])
throttle = opt.x[0]
return throttle