我有一组n
基因组和n
相应的适应度值。我想根据它们的比例适应度值对基因组进行替换采样,例如P(genome) = fitness(genome) / sum(fitness(genomes))
. Matlab中是否有这样的采样机制?
问问题
684 次
3 回答
1
如果您想从 4 个群体中获取 10 个样本,其适应度分别为 0.4、0.3、0.2 和 0.1,那么您可以执行以下操作:
>> fitness = [0.4 0.3 0.2 0.1];
>> mnrnd(10,fitness)
ans =
3 5 1 1
于 2012-04-25T07:51:38.183 回答
0
您可以randsample
为此目的使用:
>> f = [2 5 7 8 1]; %# fitness values (not normalized)
>> g = {'g1', 'g2', 'g3', 'g4', 'g5'}; %# genome names
>> gSampled = randsample(g,100,true,f) %# sample 100 genomes with replacement
于 2012-04-25T08:13:46.333 回答
0
Matlab 内置多项式随机数生成器。您可以将mnrnd
其用于您的目的。
于 2012-04-25T00:17:45.727 回答