Filter löschen
Filter löschen

Creating a N-Dimentional matrix from a 2 Dimentional matrix

1 Ansicht (letzte 30 Tage)
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,

Akzeptierte Antwort

Honglei Chen
Honglei Chen am 11 Jul. 2012
a = [1 2 ;3 4]
b = reshape(repmat(a(:),1,100),[size(a) 100]);
  1 Kommentar
Jalali
Jalali am 11 Jul. 2012
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]);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by