Creating a N-Dimentional matrix from a 2 Dimentional matrix

1 回表示 (過去 30 日間)
Jalali
Jalali 2012 年 7 月 11 日
Let's assume I have a as [1 2;3 4]. I need to create b to be 2-by-2-by-100 as follows: b(:,:,1)=[1 2;3 4] . . b(:,:,100)=[1 2;3 4]
I know that function 'cat' works but it's required to repeat the [1 2;3 4] hundred times which is not applicable. Which function should I use here?
Thanks,

採用された回答

Honglei Chen
Honglei Chen 2012 年 7 月 11 日
a = [1 2 ;3 4]
b = reshape(repmat(a(:),1,100),[size(a) 100]);
  1 件のコメント
Jalali
Jalali 2012 年 7 月 11 日
Thanks!
How about this case:
I need to create b as 100-by-10-by16 based on a=[1:16]
The following code works, but do you have any simpler idea?
q=repmat(a,[100 1]);
w=reshape(repmat(q(:),1,10),[ size(q) 10]);
b=permute(w,[1 3 2]);

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGet Started with MATLAB についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by