【发布时间】:2020-09-01 17:16:36
【问题描述】:
我想使用来自某个公式的 for 循环创建一个向量。我的代码显示第一个点为零,但是当我手动计算它时,它应该是不同的。提供代码
n<-12
x <- matrix(0, n+1, 1)
for (k in 1:n+1){
x[k,] <- exp((2*(k-1)+1)/(2*n+2))
}
手工计算:
exp((2*0+1)/(2*n+2)) 给我的值是 1.039211
【问题讨论】:
我想使用来自某个公式的 for 循环创建一个向量。我的代码显示第一个点为零,但是当我手动计算它时,它应该是不同的。提供代码
n<-12
x <- matrix(0, n+1, 1)
for (k in 1:n+1){
x[k,] <- exp((2*(k-1)+1)/(2*n+2))
}
手工计算:
exp((2*0+1)/(2*n+2)) 给我的值是 1.039211
【问题讨论】:
试试这个:
n<-12
x <- matrix(0, n+1, 1)
for (k in 1:(n+1)){
x[k,] <- exp((2*(k-1)+1)/(2*n+2))
}
输出:
[,1]
[1,] 1.039211
[2,] 1.122305
[3,] 1.212043
[4,] 1.308957
[5,] 1.413620
[6,] 1.526652
[7,] 1.648721
[8,] 1.780551
[9,] 1.922922
[10,] 2.076677
[11,] 2.242726
[12,] 2.422053
[13,] 2.615718
问题是1:n+1 正在创建下一个序列:
[1] 2 3 4 5 6 7 8 9 10 11 12 13
这就是为什么您将第一个元素设为零。
【讨论】: