@Timebird

Как подставить массив в функцию?

Здравствуйте, вопрос в следующем:
имеется 4 переменные, содержащие 4 одномерных массива со значениями.
Нужно их подставить в функцию, тем самым получив на выходе один массив значений.
Для примера возьму такую функцию:
x(t) = a*sin(omega*t + phi)
Вот а, omega, phi и t -- это и есть 4 известных одномерных массива.

Можете подсказать, как синтаксически получить на выходе массив x?
Заранее спасибо!
  • Вопрос задан
  • 293 просмотра
Решения вопроса 1
@nirvimel
def f(a, omega, phi, t):
    return a * sin(omega * t + phi)

x = [f(a[i], omega[i], phi[i], t[i]) for i in range(len(a))]
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
winordie
@winordie
Лучшая документация -- исходники
По просьбам в дополнение к @nirvimel
Добавляем сахарок
x = [f(*z) for z in zip(a, omega, phi, t)]
И еще
x = map(f, a, omega, phi, t)
Для простых функций
x = map(lambda a, omega, phi, t: a * sin(omega * t + phi), a, omega, phi, t)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы