我是新來的R,我嘗試解決一個遞歸函數:給予基於R解決遞歸函數
### creating variable R, a vector of length 10
R = c(-1.70, 0.61, -0.54, -2.40, -1.50, -1.07, -2.42, -1.62, -1.65, -1.58)
然後有一個模型:R[t] = A(t) + 0.5*A(t-1) + 0.3*A(t-2)
,其中A(0) = A(-1) = 0
,然後計算A(i)
,我= 1,2 ... 10。我寫的代碼如下,但它總是給我錯誤,我不知道我錯了。 plz幫助我,非常感謝。
ma <- function(a){
r = NULL
a = NULL
r[1]=1.70
r[2]=0.61
r[3]=-0.54
r[4]=-2.40
r[5]=-1.50
r[6]=-1.07
r[7]=-2.42
r[8]=-1.62
r[9]=-1.65
r[10]=-1.58
a[0] = 0
a[-1] = 0
for(i in 1:10){
r[i]=a[i]+0.5*a[i-1]+0.3*a[i-2]
return(a[i])
}
}
在R,數組的下標從1開始,則不能定義第0或一個陣列的-1th組件。此外,R並不解決方程式(或者至少不是你想象的方式):如果你想找到'a [i]',你需要在倒數第二行中解決'a [i]'。 – nicola 2015-02-24 06:29:43
對不起,我不明白我需要在倒數第二行中解決它。謝謝 – user3084591 2015-02-24 06:34:34
你需要在其他數量方面表達'a [i]'。看到我的答案。 – nicola 2015-02-24 06:39:20