如何在Matlab与Mathcad中创建一个函数,用于组合三个集合之间的所有元素

时间:2014-06-27 12:09:10

标签: matlab mathcad

我遇到某些问题。所以,我有三组有四个元素,例如:

[r11, r12, r13, r14]
[r21, r22, r23, r24]
[r31, r32, r33, r34]

我需要这些元素之间的所有组合。但是,特定集合中的每个元素都必须位于同一个位置:

1. r11  r21 r31
2. r11  r21 r32
       .
       .
       .
n. r14  r24 r34

我如何在Matlab或Mathcad中做到这一点?

1 个答案:

答案 0 :(得分:0)

假设S1S2S3,其中S1[r11, r12, r13, r14]

[A,B,C] = ndgrid(S3, S2, S1);
[C(:), B(:), A(:)]

例如输入:

S1 = [1,2];
S2 = [10,20];
S3 = [100,200,300];

结果:

ans =

     1    10   100
     1    10   200
     1    10   300
     1    20   100
     1    20   200
     1    20   300
     2    10   100
     2    10   200
     2    10   300
     2    20   100
     2    20   200
     2    20   300