Возможные дубликаты:
Как вычесть вектор из каждой строки матрицы?
Как разделить каждую строку матрицы на фиксированную строку?
У меня есть матрица (M1) из M строк и 4 столбцов. У меня есть другой массив (M2) из 1 строки и 4 столбцов. Я хотел бы вычесть каждый элемент в M1 соответствующим элементом столбца в M2. Другими словами, каждый столбец M1 должен быть вычтен скаляром в той же позиции столбца в M2. Я мог бы вызвать repmat(M2,M,1)
, который создал бы НОВУЮ матрицу размера MxN, где каждый элемент в столбце был бы одинаковым, а затем выполнить вычитание поэлементно:
M2new = repmat(M2,M,1)
final = M1 - M2new
, однако это две строчки кода и создается новый элемент в памяти. Каков самый быстрый и наименее требовательный к памяти способ выполнения этой операции?