Страницы

Поиск по вопросам

пятница, 20 марта 2020 г.

Умножить все четные столбцы матрицы А на вектор x в обратном порядке

#python #numpy


Дан вектор x и матрица А. Надо умножить все четные столбцы матрицы А на вектор x
в обратном порядке. Результат записать в новую матрицу и 
найти сумму ее элементечалов. 

import numpy as np
A = np.array([ [2, 1], [2, 2], [4, 3] ])
x = np.array([ [2], [3] ])
b = A.dot(x)
print(b)


Этот код умножает матрицу на вектор. Как переделать код, чтобы соответствовал заданию?
    


Ответы

Ответ 1



Сделаем маску на четные индексы и умножим их на развернутый в обратном порядке вектор m = np.arange(0,A.shape[0],2) A[m].dot(x[::-1]) array([[ 8], [18]])

Ответ 2



Можно воспользоваться срезами: A[::2] @ x[::-1] Результат: array([[ 8], [18]]) Сумма элементов: (A[::2] @ x[::-1]).sum() # 26

Комментариев нет:

Отправить комментарий