MATLAB编程(1)——计算两个向量元素的组合
程序员文章站
2022-03-02 10:41:18
...
问题描述:
已知两个向量,现在,分别从两个向量中各取一个元素,做组合,如何得到全部组合结果?
例如:已知向量A=[2;8]; B=[5;8;10];,按要求得到的结果应为:
res =
2 5
2 8
2 10
8 5
8 8
8 10
代码实现:
A = [ 2; 8 ];
B = [ 5; 8; 10 ];
[ m, n ] = meshgrid( A, B' );
[ res(:,1),res(:,2) ] = deal( reshape(m,[],1), reshape(n,[],1) );
若要去掉组合结果中两个元素重复的这种组合,即要得到如下结果:
res =
2 5
2 8
2 10
8 5
8 10
代码实现:
A = [ 2; 8 ];
B = [ 5; 8; 10 ];
[ m, n ] = meshgrid( A, B' );
[ m, n ] = deal( reshape(m,[],1), reshape(n,[],1) );
k = m==n;
m(k) = [];
n(k) = [];
res(:,1)=m; res(:,2) = n;
以上内容参考网址: