Парная матричная операция - PullRequest
0 голосов
/ 05 мая 2020

Я хочу создать попарную матрицу из списка чисел. Пример: list_num = [2, 4, 9, 1, 7]

В качестве вывода я хотел бы получить список (первая строка и столбец должны быть заполнены элементами list_num), я бы также выполнил операции (например, разделить каждое число друг на друга) и заполнить матрицу результатами.

Каков самый простой способ решить эту проблему, чтобы я мог использовать ее для других операций?

Большое спасибо

1 Ответ

0 голосов
/ 05 мая 2020

Вы можете использовать numpy meshgrid () для парных вычислений пользовательских функций, например:

grid = np.meshgrid(list_num,list_num, sparse=True)
>>> grid
[array([[2, 4, 9, 1, 7]]), array([[2],
       [4],
       [9],
       [1],
       [7]])]

>>> def myFunc(x,y):
...   return x+y**x/x+2

>>> z=myFunc(*grid)

>>> z.shape
(5, 5)
>>> z
array([[  6.00000000e+00,   1.00000000e+01,   6.78888889e+01,
          5.00000000e+00,   2.72857143e+01],
       [  1.20000000e+01,   7.00000000e+01,   2.91381111e+04,
          7.00000000e+00,   2.34957143e+03],
       [  4.45000000e+01,   1.64625000e+03,   4.30467320e+07,
          1.20000000e+01,   6.83290286e+05],
       [  4.50000000e+00,   6.25000000e+00,   1.11111111e+01,
          4.00000000e+00,   9.14285714e+00],
       [  2.85000000e+01,   6.06250000e+02,   4.48374511e+06,
          1.00000000e+01,   1.17658000e+05]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...