expanding matrix

1 次查看(过去 30 天)
rahman
rahman 2011-5-16
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

采纳的回答

Andrei Bobrov
Andrei Bobrov 2011-5-16
[j k i]=meshgrid([x1,x2]);
xx = [i(:) j(:) k(:)];

更多回答(1 个)

Matt Fig
Matt Fig 2011-5-16
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.

类别

Help CenterFile Exchange 中查找有关 Operators and Elementary Operations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by