Программная матрица и векторная функция с numpy (spyder)

Я должен запрограммировать функцию suma_a_cada_columna(mat, vec), которая, учитывая матрицу и вектор, возвращает матрицу, полученную путем добавления вектора в каждый столбец.

Количество рядов матов соответствует размеру соседнего.

suma_a_cada_columna(np.array([[0, 0, 0], [0, 1, 0], [2, 1, 0]]), np.array([1, 2, 3]))

Результат:

array([[1, 1, 1],[2, 3, 2],[5, 4, 3]])
1
задан 27.08.2017, 17:05
1 ответ

Не, если существует более прямой / работоспособный способ это делать, но ты можешь transponer массив или вектор и использовать сумму в контексте NumPy:

import numpy as np

def suma_a_cada_columna(matriz, vector):
    return (matriz.transpose() + vector).transpose()

Таким образом, если мы звоним в функцию:

suma_a_cada_columna(np.array([[0, 0, 0], [0, 1, 0], [2, 1, 0]]), np.array([1, 2, 3])

Мы получаем как вывод:

numpy.array([[1 1 1]
            [2 3 2]  
            [5 4 3]]) 
1
ответ дан 24.11.2019, 11:54
  • 1
    Большое спасибо @FJSevilla, я думаю, что твой ответ решает мне проблему. – Edgar T. 23.12.2016, 11:43

Теги

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