2016-02-13 160 views
2

我對以下代碼使用R。 我想用下面給出的for循環來填充矩陣s。我的輸出不像預期的那樣,事實上沒有任何元素被填滿。請幫忙。提前致謝。使用for循環填充矩陣r不起作用

N<- 3 
S<- 2 
delta = T/N 
u = 2 
d = 1/u 
s<- matrix(NA,N+1,N+1, byrow = TRUE) 
s[1,1]<- S 

for(i in 2:N+1){ 
    for(j in 1:i-1){ 
    s[i,j] <- (s[i-1,j]*u) 
    } 
    s[i,j] <- (s[i-1,j-1]*d) 
} 

s 

My output 
> s 
    [,1] [,2] [,3] [,4] 
[1,] 2 NA NA NA 
[2,] NA NA NA NA 
[3,] NA NA NA NA 
[4,] NA NA NA NA 

請大家幫忙。

回答

0

您在定義中忘記了一些括號。這確實有點令人困惑

for(i in 2:(N+1)){ 
    for(j in 1:(i-1)){ 

似乎有更多的錯誤,但我不確定你的代碼的意圖。基本上,內部循環後j將評估爲零這將指數

s[i,j] <- (s[i-1,j-1]*d) 

非現有元素0

+0

如果OP可以給這個問題增加更多關於什麼需要在每一步它會更容易出現幫助。目前,@ CAFEBABE表示很難看到期望的結果。 – zacdav