MATLAB编程(1)——计算两个向量元素的组合

问题描述:
已知两个向量,现在,分别从两个向量中各取一个元素,做组合,如何得到全部组合结果?
例如:已知向量A=[2; 8]; B=[5; 8; 10]; ,按要求得到的结果应为:
res =
25
28
210
85
88
810
代码实现:

A = [ 2; 8 ]; B = [ 5; 8; 10 ]; [ m, n ] = meshgrid( A, B' ); [ res(:,1),res(:,2) ] = deal( reshape(m,[],1), reshape(n,[],1) );



若要去掉组合结果中两个元素重复的这种组合,即要得到如下结果:
res =
25
28
210
85
810
代码实现:
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;


以上内容参考网址:
【MATLAB编程(1)——计算两个向量元素的组合】http://www.ilovematlab.cn/thread-321138-1-1.html

    推荐阅读