MATLAB: A ‘Matrix Minus’ Question!

matrix minus function

There are two matrix.
A = [1 4 3 4 5
6 6 8 9 1
1 2 1 4 5
8 1 2 1 5
9 1 9 2 2
8 8 1 6 4];
B = [1 2 9 2 5];
How can I minus each row of Matrix A by B to get C? The result C =
[0 2 -6 2 0
5 4 -1 7 -4
0 0 -8 2 0
7 -1 -7 -1 0
8 -1 0 0 -3
7 6 -8 4 -1]
I know I can do a loop. But is there an easier way? Any suggestion would be appreciated!
The loop is:
m = size(A);
for i = 1 :length(A)
for n = 1:m(1)
C(n,i) = A(n,i) - B(i);
end
end

Best Answer

bsxfun(@minus,A,B)