[心得] 函數指標

看板NCTU-STAT97G作者 (Piggy)時間15年前 (2009/03/26 12:43), 編輯推噓4(401)
留言5則, 5人參與, 最新討論串1/2 (看更多)
哈~統算寫到這個部分來分享一下心得 因為pdf有很多 總不可能每個pdf都寫一個積分吧? (也就是底下程式碼Integral函數的內容複製好幾次) 這樣程式碼會變得非常長 所以我找了一下書並且做了實驗發現函數指標可以解決這個問題 所以來和大家分享一下 double p1,p2//外部變數(也就是以下的程式都可以用) double (*pdf)(double); //宣告函數指標 我現在只有要放x而已,所以引數只有一個 //定義gamma pdf double pdf_gamma(double x){ return (pow(x,p1-1.0)/g1)*pow(p2,-p1)*exp(-x/p2);//我的g1已經先積好了 } //卡方pdf double pdf_chi_square(double x){ return exp(-0.5*x)*pow(x,0.5*p1-1.0)/(pow(2,0.5*p1)*g1); } int main(void){ ... pdf = pdf_gamma;//把要的pdf給函數指標 //或者可以放 //pdf = pdf_chi_square; Integral(); 呼叫積分函數 ... } void Integral(void){ for(i=0;i<分割數;i++){ .... pdf(x1)+pdf(x2);//這邊就可以用函數指標作運算了 .... } } 大致上這樣 哈 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.191.166

03/26 15:21, , 1F
推一個,受益良多。
03/26 15:21, 1F

03/26 20:17, , 2F
感謝感謝~~0rz
03/26 20:17, 2F
※ 編輯: a5170040 來自: 140.113.191.166 (03/26 20:21)

03/27 19:08, , 3F
有看有推...
03/27 19:08, 3F

03/27 22:05, , 4F
03/27 22:05, 4F

03/27 22:27, , 5F
噢我看不懂
03/27 22:27, 5F
文章代碼(AID): #19omWEWK (NCTU-STAT97G)
討論串 (同標題文章)
文章代碼(AID): #19omWEWK (NCTU-STAT97G)