我想編寫一個代碼,它給出每個按順序遞減的數字的累積概率(0-1)。例如;數字遞減的遞增概率
我有一組數的:
150
152
155
160
175
我會給這些數字以這種方式的概率:對第一個
(150)的概率是= 175 /總和
第二個是= 160 /總數+以前的概率....等等。
主要觀點是150比其他人有更高的概率。
你會給我什麼建議。集將包含超過30個號碼...
下面是代碼:
int ll;
float prefitness=0;//Previous fittnesses
int minus =0;
for (int sdf=0;sdf<PopulationSize;sdf++)//population size is the total number counts
{
ll=sortindex[sdf];//sortindex is an array with numbers in ascending order
Sol_list[ll].fittness=(double)Sol_list[PopulationSize-1-minus].PortfolioDuration/sum+prefitness;
prefitness=Sol_list[ll].fittness;
minus++;
}
float move=0;
int xc;
for (int yj=0;yj<PopulationSize;yj++)
{
xc=sortindex[yj];
Sol_list[xc].fittnesspre =move;
move=Sol_list[xc].fittness;
}
你的問題太簡單了..你解析設置一次得到的金額,然後你分析它的第二次和創建矢量與概率。還是你期望的其他答案? –
是的,它很簡單。我有一個代碼。有時如果數字太接近,概率值也太接近,有些數字不遵守規則(升序數字,下降概率,不解決問題。雖然差異很小,但它影響解決方案。也許它是由於四捨五入錯誤或smt。我問這個簡單的問題的原因是chech我是否正在做它的權利...謝謝 – furkan
如果您希望我們知道您的現有代碼是否正確,那麼您必須發佈您的代碼! – john