三个向量的所有可能的组合

78(30天)
我试图找到所有可能的组合的三个向量(A, B, C)。为此,我试着使用combvec。不过,结果让我1281 x1的两倍,而我期望一个矩阵546 * 33 * 649的可能性。
我想要得到的是什么:
答:1、5、6、9、12
B: 1、2、3、4、5、6
69年18 C: 3日,27日,72年
答:
1,1,3
1,1,18岁
1,1,27岁
等。
那么我怎么做呢?

接受的答案

Guillaume
Guillaume 2017年5月24日
一个可能的方式,它不需要任何工具箱:
(钙、cb、cc) = ndgrid (A, B, C);
梳子= [ca (:), cb (:), cc (:))
5个评论
布鲁诺陈德良
布鲁诺陈德良 2021年4月22日
过滤掉那些不满足约束条件,或者你可以使用这个 FEX 直接结合
allVL1 (3、4、“< =”)
ans =
0 0 0
0 0 1
0 1 0
1 0 0
0 0 2
0 1 1
0 2 0
1 0 1
1 1 0
2 0 0
0 0 3
0 1 2
0 2 1
0 3 0
1 0 2
1 1 1
1 2 0
2 0 1
2 1 0
3 0 0
0 0 4
0 1 3
0 2 2
0 3 1
0 4 0
1 0 3
1 1 2
1 2 1
1 3 0
2 0 2
2 1 1
2 2 0
3 0 1
3 1 0
4 0 0

登录置评。

答案(1)

Azzi Abdelmalek
Azzi Abdelmalek 2017年5月24日
= (1、5、6、9、12)
B = [1、2、3、4、5、6)
C =[3, 18岁,27岁,69年,72年)
[ii, jj, kk] = meshgrid (A, B, C);
2 =排列(ii, [1 3 2]);
jj =排列(jj, [2 1 3])
kk =排列(kk, [3 2 1])
= (ii (:) jj (:) kk (:));

标签

s manbetx 845

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!