[問題] EM-顯隱性對偶基因頻率估計
開發平台(Platform):DevC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
1.原本我想要讓n1(AA基因型):n2(Aa基因型):n3(aa基因型)個數隨機服從multinomial
distrbution,但是我只google到均勻分配的,所以只好假設n=6000,p=0.6 >>n1=2160
n2=2880,n3=960,請問有神可以告訴我怎麼隨機生成多項分配嗎??
2.我產生出來的隨機機率p想要固定住,所以寫p0==p;之後想看遞迴後和p0絕對值差10的
-8次,但是好像有問題,因為結果出來一堆0,我在想是不是因為p0==p;那如果想要讓產
生出來的亂數值固定要怎麼設?
餵入的資料(Input):
預期的正確結果(Expected Output):
一個收斂的p值
錯誤結果(Wrong Output):
0
0
0
.
.
.
0
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cmath>
using namespace std;
int main(void)
{
double p,p0;
int n1=2160,n2=2880,n3=960,n=6000,i=1;
srand(time(NULL));
p=rand()/(RAND_MAX + 1.0);
p0==p;
while(i<1000)
{
p=((n1+n2)/6000)*(1/2-p);
if(abs(p0-p)<=10^-8)
cout << p << endl;
i++;
}
system("pause");
return 0;
}
補充說明(Supplement):
※ 編輯: romotting 來自: 111.248.74.196 (11/22 16:49)
→
11/22 17:07, , 1F
11/22 17:07, 1F
→
11/22 17:08, , 2F
11/22 17:08, 2F
→
11/22 17:10, , 3F
11/22 17:10, 3F
我將p0==p;改成P0=P 10^-8改成pow(10.0, -8) 結果run出來沒有東西 請問還有哪裡有
錯嗎?
※ 編輯: romotting 來自: 111.248.74.196 (11/22 17:33)
→
11/22 17:45, , 4F
11/22 17:45, 4F
→
11/22 17:47, , 5F
11/22 17:47, 5F
→
11/23 01:44, , 6F
11/23 01:44, 6F
→
11/23 01:44, , 7F
11/23 01:44, 7F
→
11/23 01:55, , 8F
11/23 01:55, 8F
→
11/23 01:56, , 9F
11/23 01:56, 9F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):