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 件)

カテゴリ

ヘルプ センター および File ExchangeStructures についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by