我想在R中編寫一個程序來計算一個值,程序如下。如何在R中編寫雙遞歸函數
options(expressions = 5e5)
P_n_m=function(r,n,m) {
if(r >0 & n==1 & m==0 | r >=0 & n==0 & m==1) return(1)
else if(r >= 0 & n >= 0 | r >= 0 & m >= 0){
return(n/(n+m)*P_n_m(r-n-m,n-1,m)+m/(n+m)*P_n_m(r,n,m-1))
}
else return(0)
}
但它總是給我錯誤。我也嘗試調整系統設置, 但它仍然沒有工作。我想計算P_n_m(49,7,7),並且我不知道 程序中的哪個部分是錯誤的。任何人都可以幫我解決這個問題嗎?
謝謝,我修改我的條件,現在它的工作! – woowah