Is there a matlab function which allows me to do the following operation?
x = [1 2 2 3];
and then based on x
I want to build the matrix m = [1 2 2 3; 1 2 2 3; 1 2 2 3; 1 2 2 3]
You are looking for the REPMAT function:
x = [1 2 2 3];
m = repmat(x,4,1);
You can also use indexing to repeat the rows:
m = x(ones(4,1),:);
or even outer-product:
m = ones(4,1)*x;
and also using BSXFUN:
m = bsxfun(@times, x, ones(4,1))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With