我想为Sample_2连接2个带首选项的样本:
eg. Sample_1= rand(1000,28), Sample_2=normrnd(1.91,0.266,1000,28)
好的,现在我想在Sample_2
上叠加Sample_1
,但优先选择sample_2的点数(例如80%样本2和20%样本1)。即我想要更多的Sample_2积分而不是Sample_1积分。这是针对模型的蒙特卡罗抽样的不确定性分析。
也许是这样的:
Total_sample=randsample([Sample_1 Sample_2],1000,28,'false',[0.8 0.2]);
使用randsample时出错(第74行)人口必须是矢量。
和
使用randsample时出错(第90行)W的长度必须为56。
答案 0 :(得分:2)
直接的方法是生成随机索引,并使用它们用Sample_1
中的样本覆盖Sample_2
中80%的样本:
%// Copy samples from Sample_1
Total_Sample = Sample_1;
%// Overwrite 80% of the samples with values from Sample_2
N = numel(Sample_1);
idx = randperm(N);
Total_Sample(idx(1:0.8 * N)) = Sample_2(idx(1:0.8 * N));
或者,第二部分也可以这样实现:
N = numel(Sample_1);
idx = randsample(1:N, 0.8 * N);
Total_Sample(idx) = Sample_2(idx);