用r中的for循环填充矩阵不起作用

时间:2016-02-13 22:46:17

标签: r loops for-loop matrix

我正在使用R代码。 我正在尝试使用for循环填充矩阵,如下所示。我的输出没有达到预期,实际上没有任何元素被填充。请帮忙。提前谢谢。

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

请帮忙。

1 个答案:

答案 0 :(得分:0)

你的定义中忘了几个括号。这确实有点令人困惑

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

似乎有更多错误,但我不确定您的代码的意图。基本上在内部循环j将评估为零之后将在

中进行索引
s[i,j] <- (s[i-1,j-1]*d)

不存在的元素0