假设我有两个不同大小的矩阵:
a = zeros(1,100);
b = ones(1,200);
现在我想将它们组合在一起。诀窍是,我想随机混合它们,但是定义了如何调用它......嗯,每个组的生命周期,正态分布。
所以不要随意010010101010001010 .. 我想将这个'lifetime'参数设置为f.ex. 4,结果有类似
的结果00001111000111110000000011110000
换句话说,我必须把它分成0和1组。单组的平均大小为4(但也会有2,3或7组,你知道我的意思)。有任何想法吗? 感谢
答案 0 :(得分:0)
没有简洁的方法,你必须创建一种方法。
我会看看泊松函数,你可以选择将两者混合在一起,但如果你用不同大小的数组做,你最后会有一些奇怪的东西。
基本上,我会做这样的事情。请注意,此代码可能不起作用,但至少应该为您提供一个起点。当你超过矩阵的长度时,我还会让你弄清楚如何组合它们。
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