How to efficiently create a vector?

I want create a matrix such that
A matrix mat_B = [ 1 2 3 4 5; 6 7 8 9 10; 11 12 13 14 15; 16 17 18 19 20].
Is there any other code that more efficient than the code I make below?
for i = 1:5 if i ==1 a (i,:)=1:4; else a (i,:) = (a (i-1,:))+4; end end

 Accepted Answer

I would use the reshape function to avoid the explicit loops:
v = 1:20;
mat_B = reshape(v, 5, [])';

2 Comments

Yes, I agree with you, this indeed a more compact solution. Thanks
My pleasure.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!