有两个向量:
a = 1:5;
b = 1:2;
为了找到这两个向量的所有组合,我正在使用以下代码段:
[A,B] = meshgrid(a,b);
C = cat(2,A',B');
D = reshape(C,[],2);
结果包括所有的组合:
D =
1 1
2 1
3 1
4 1
5 1
1 2
2 2
3 2
4 2
5 2
现在有以下问题:
1- 我想减少操作次数以提高大型向量的性能。MATLAB中是否有任何单一函数可以实现此功能?
2- 如果向量数量超过2个,则无法使用 meshgrid 函数,必须使用 for 循环进行替代。有更好的解决方案吗?
kron
技巧。(p1) 我在我的答案中稍微提了一下你的答案,因为这是一个我也喜欢使用的不错的快速处理二维或三维数据的方法。 - chappjc