Как сгенерировать таблицу функции двух и более переменных?

Рейтинг: 0Ответов: 0Опубликовано: 01.02.2023

Имеется функция двух переменных, требуется составить таблицу значений этой функции при различных значениях параметров. Сначала я создаю массивы параметров:

x1 = np.linspace(5, 95, 10)
x2 = np.linspace(3200, 2600, 50)
x1_grid, x2_grid = np.meshgrid(x1, x2)

Затем создаю массив, содержащий искомую таблицу:

y = np.zeros(x1_grid.shape)

Теперь заполняю его значениями:

for (index1, x1), (index2, x2) in zip(np.ndenumerate(x1_grid), np.ndenumerate(x2_grid)):
    y[index1] = calc(x1, x2)

Последнее действие, вероятно, можно сделать проще. Как? Возможно, есть какие-то приёмы работы с meshgrid, которые я не знаю. В дальнейшем планируется масштабировать вычисления на функции большего количества параметров (до 5). Так же их соединять через zip или есть вариант проще?


UPD Интересует не оптимизация по времени, а питоновские трюки, которые помогут записать последний цикл короче и понятнее, избегая неиспользуемые итераторы, что станет более актуально, когда размерность пространства повысится.

Ответы

Ответов пока нет.