How can I turn a data vector into a matrix of rows with the same vector?

1 view (last 30 days)
I have a matrix A which has different kind of data points. I also have a vector of constant values that need to be substract from each row from the matrix A. The problem is that a Matrix and a vector have different dimensions and can´t do arithmetic like that. I will provide an example:
A = [1,2;3,4] b = [5,6]
I want to turn vector b into a matrix having (n) row values being the same as the first row values. This way I will have a matrix: B = [5,6;5,6] I hope this makes sense. This is needed for a math formula in geology.

Accepted Answer

James Tursa
James Tursa on 7 Nov 2016
Edited: James Tursa on 7 Nov 2016
If you just need to do the subraction:
result = bsxfun(@minus,A,b);
If you need your B for some other reason also, then:
B = repmat(b,size(A,1),1);
result = A - B;

More Answers (0)


Community Treasure Hunt

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

Start Hunting!

Translated by