Creating a N-Dimentional matrix from a 2 Dimentional matrix

1 vue (au cours des 30 derniers jours)
Jalali
Jalali le 11 Juil 2012
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,

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by