Hi all
I want to expand matrix.for example if x=[x1;x2] then the new matrix will be:
xx = [x1 x1 x1;x1 x1 x2;x1 x2 x1;x1 x2 x2;x2 x1 x1;x2 x1 x2;x2 x2 x1;x2 x2 x2]
How can I do that

 Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 16 Mai 2011

1 vote

[j k i]=meshgrid([x1,x2]);
xx = [i(:) j(:) k(:)];

Plus de réponses (1)

Matt Fig
Matt Fig le 16 Mai 2011

1 vote

Here is a general purpose file for doing the same thing. What you are basically doing is finding the permutations of the set [x1 x2] taken three at a time with replacement. For example:
x1 = 7;x2 = 9; % Sample data
xx = npermutek([x1 x2],3);
xx =
7 7 7
7 7 9
7 9 7
7 9 9
9 7 7
9 7 9
9 9 7
9 9 9
NPERMUTEK is found here.

Catégories

En savoir plus sur Interpolation dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by