数学建模社区-数学中国

标题: 用matlab列出组合结果 [打印本页]

作者: rice8826    时间: 2009-12-28 14:36
标题: 用matlab列出组合结果
就是 如何讲两组数字的 的组合列出?

就是例如一组是   
     1     2     4
     1     2     5
     1     3     4
     1     3     5
     1     4     5
  

另一组是

     2     3     4
     2     3     5
     2     4     5
     3     4     5

其中一种组合是 1 2 4 2 3 4.

请高数指教如何在MATLAB 求出所有组合?
作者: 厚积薄发    时间: 2009-12-28 15:47
如果已知两组数,要求其所有组合,对两组数进行遍历。好像在MATLAB中没有现成函数可以求出
设A(N,N),B(M,M)是两组数,要求他们的所有组合数

%y表示得出的所有组合,k表示组合数
function [y,k]=zuhe(A,B)
y=[];
[n1,n2]=size(A);
[m1,m2]=size(B);
k=1;
for i=1:1:m1
    for j=1:1:n1
        y[k,;]=[y,[B(i),A(j)]];
        k=k+1;
    end
end


说明:由于本人没有想到更好的方法来解决这个问题,所以只能用这种笨方法来做,不过好像MATLAB中没有现成的函数可以实现上述问题。
如果你用的是combntns函数,那么你可能要解决你举得例子的话,还得把得到组合分成两组在求
作者: rice8826    时间: 2009-12-28 16:46
是啊。我就是只想到分成两组再求,觉得很麻烦。因为数据很多,所以就想着能不能有更快捷简便的方法。
作者: rice8826    时间: 2009-12-28 16:46
谢谢斑竹啊!!我试试看#####

作者: mnpfc    时间: 2009-12-31 08:32
来学习啦!!!!!!!!!!!!!!
作者: hupanfeng    时间: 2010-2-18 16:01
路过。。学习下~~~~~~~~~~~~~~~~~
作者: liunengwu    时间: 2010-4-4 14:49
ding!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者: eigen    时间: 2010-4-5 15:46
Matlab中好象没有直接的函数求组合的组合。




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5