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

 採用された回答

Star Strider
Star Strider 2017 年 6 月 23 日

0 投票

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

2 件のコメント

balandong
balandong 2017 年 6 月 23 日
Yes, I agree with you, this indeed a more compact solution. Thanks
Star Strider
Star Strider 2017 年 6 月 23 日
My pleasure.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by