Можно ли решить для входа в RegularGridInterpolator python? - PullRequest
0 голосов
/ 02 апреля 2020

Для engine, Thrust является функцией alpha, Mach, altitude и throttle, поэтому у меня есть

thrust_interp = RegularGridInterpolator((alpha, Mach, alt, throttle),
     thrust.reshape(len(alpha), len(Mach), len(alt), len(throttle)), 
     method='linear', bounds_error=False, fill_value=None)

Мне интересно, знаю ли я, что thrust,alpha,Mach,alt; могу ли я выполнить обратную интерполяцию 'чтобы получить газ?

Спасибо!

1 Ответ

0 голосов
/ 02 апреля 2020

нашел решение, которое работает. 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...