How to subtract each column of a matrix from a column vector?

104 visualizaciones (últimos 30 días)
M
M el 31 de Mzo. de 2022
Respondida: Image Analyst el 1 de Abr. de 2022
How to subtract each column of a matrix from a column vector?

Respuestas (2)

James Tursa
James Tursa el 31 de Mzo. de 2022
Editada: James Tursa el 31 de Mzo. de 2022
Just do a usual subtraction and let MATLAB implicit expansion kick in:
M = your matrix
v = your column vector
result = v - M; % implicit expansion

Image Analyst
Image Analyst el 1 de Abr. de 2022
If you don't have a version that has implicit conversion yet, you can do this, where v is your vector and m is your matrix.
% Create sample data.
v = randi(99, 3, 1)
v = 3×1
28 23 78
m = randi(99, 3, 3)
m = 3×3
82 23 62 42 48 78 67 16 83
[rows, columns] = size(m);
diffMatrix = zeros(rows, columns);
% Subtract each column of m one at a time from v.
for col = 1 : columns
diffMatrix(:, col) = v - m(:, col);
end
% Show result in command window:
diffMatrix
diffMatrix = 3×3
-54 5 -34 -19 -25 -55 11 62 -5

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by