【问题标题】:Matlab, combinations of all cells [duplicate]Matlab,所有单元格的组合[重复]
【发布时间】:2015-03-17 05:46:22
【问题描述】:

我需要将所有长度不同的 n 个(随机)数组的数据组合起来。 前任: a=[1 3 2 7 8], b=[2 5 3 9] 和 c=[5 6] 也许我们有 d, e, f 等等.... 我需要所有元素的组合,例如: M={[1 2 5], [1 2 6], [1 5 5], [1 5 6], [1 3 5], [1 3 6] ....}。

【问题讨论】:

    标签: matlab combinations


    【解决方案1】:

    3个数组的解决方案:

    [A,B,C] = meshgrid(a, b, c);
    M = [A(:), B(:), C(:)];
    

    n 数组在短维度 n 上迭代的解决方案:

    a=[1 3 2 7 8];
    b=[2 5 3 9];
    c=[5 6];
    d=[1 3 5];
    
    arrays = { a, b, c, d };
    M = a';
    
    for i = 2:length(arrays)
        A1 = M;
        A2 = arrays{i}';
        [i1, i2] = meshgrid(1:length(A1), 1:length(A2));
        M = [A1(i1(:), :) A2(i2(:))];    
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-01
      • 1970-01-01
      • 2018-08-06
      • 2017-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多