【问题标题】:matlab: random combination of matricesmatlab:矩阵的随机组合
【发布时间】:2012-04-05 15:00:33
【问题描述】:

假设我有两个大小不同的矩阵:

a = zeros(1,100);
b = ones(1,200);

现在我想将它们组合在一起。诀窍是,我想随机混合它们,但定义了如何调用它.. 嗯,每组的生命周期,正态分布。

所以不是随机的 010010101010001010.. 我想将此“生命周期”参数设置为 f.ex。 4,结果有类似的东西

00001111000111110000000011110000

换句话说,我必须将它分成零组和一组。单组的平均大小为 4(但也有 2、3 或 7 组,你知道我的意思)。有任何想法吗? 谢谢

【问题讨论】:

    标签: matlab matrix distribution combinations


    【解决方案1】:

    没有一种简洁的方法可以做到这一点,您将不得不创建一种方法来做到这一点。

    我会查看 Poisson 函数以供您选择将两者混合在一起,但如果您使用不同大小的数组进行此操作,最后您会得到一些奇怪的东西。

    基本上,我会做这样的事情。请注意,此代码可能不起作用,但它至少应该为您提供一个起点。当你超过矩阵的长度时,我也会让你弄清楚如何组合它们。

    c=zeros(length(a)+length(b))
    a_index=1;
    b_index=1;
    c_index=1;
    while(a_index<length(a) && b_index<length(b))
        a_rnd=poissrnd(4);
        b_rnd=poissrnd(r);
        c(cindex:(cindex+a_rnd))=a(a_index:(a_index+a_rnd));
        c(cindex:(cindex+b_rnd))=b(b_index:(b_index+b_rnd));
        a_index=a_index+a_rnd;
        b_index=b_index+b_rnd;
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      • 2012-06-18
      • 1970-01-01
      • 1970-01-01
      • 2017-09-25
      • 2016-02-15
      相关资源
      最近更新 更多