我在R中这样做。虽然有一种快捷方式在R中执行以下操作,但我想查看它:
x <- c(7,6,8,7)
y <- 1
n <- length(x)
p=1
s = 0
for(i in 1:n){
s = s + (x^p * y^p)
}
s
由于我没有在for循环中指定x
的索引号,我猜测只会使用x
的第一个元素。所以我做了一张桌子:
i s= s + (x^p * y^p)
1 s= 0 + (7^1 * 1^1)=7
2 s= 7 + (7^1 * 1^1)=14
3 s= 14 + (7^1 * 1^1)=21
4 s= 21 + (7^1 * 1^1)=28
但结果是:
s
[1] 28 24 32 28
我无法以任何方式匹配此结果。它是如何工作的?
答案 0 :(得分:4)
x
不是单个整数,而是整数向量。你需要按照上帝的意图对你的x
进行分组。指定x
时,R不仅使用第一个元素,而是使用所有元素。这是使您的解决方案蒙上阴影的假设。
x <- c(7,6,8,7)
y <- 1
n <- length(x)
p <- 1
s <- 0
for(i in 1:n){
s <- s + (x[1]^p * y^p)
message(s)
}
7
14
21
28