Как вы перебираете несколько массивов и подставляете значения в уравнение? - PullRequest
0 голосов
/ 03 мая 2020

Не знаю, правильно ли я сформулировал вопрос, потому что это сложно объяснить. Но у меня есть три массива, которые представляют температуру, соленость и глубину. Они огромные, поэтому я привел их упрощенные версии ниже, чтобы понять суть:

t = (np.arange(26)[25:21:-1]).reshape(2,2)
s = (np.arange(34,35,0.25).reshape(2,2))
z = (np.arange(0,100,25).reshape(2,2))

У меня есть это уравнение (также упрощенное):

velocity = 1402.5 + 5*(t) - (5.44 * 10**(-2) * t**(-2))  + (2.1 * 10**(-4) * t**(3)) + 1.33*(s) - (1.56*10**(-2)*z)

Что я хочу сделать, так это перебрать значения из массивов t, s, z и подставить их в уравнение для расчета скорости для каждого случая. Я хочу, чтобы результирующее значение затем добавлялось в новый массив с такой же конфигурацией - (2,2) в этом случае. Кажется, я не могу придумать лучший способ подойти к этому, поэтому любые отзывы будут оценены.

Ура!

1 Ответ

1 голос
/ 03 мая 2020

Просто используйте такое же уравнение, как есть, с одним изменением:

скорость = 1402,5 + 5 * (т) - (5,44 * 10 ** (- 2,0) * т ** (- 2,0)) + (2,1 * 10 ** (- 4) * t ** (3)) + 1,33 * (s) - (1,56 * 10 ** (- 2) * z)

Изменение: t**(-2) был изменен на t**(-2.0). Чтобы лучше понять, почему нам нужно изменить тип показателя степени, посмотрите ответ здесь: { ссылка }.

Выше приведен вывод:

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