如何计算R中斐波那契级数的商
我想计算斐波那契级数的商,这样: 我已经创建了一个函数来计算Fbonacci级数,这是可以的,但是我在计算商时遇到了麻烦。这是我的职责:如何计算R中斐波那契级数的商,r,for-loop,math,fibonacci,R,For Loop,Math,Fibonacci,我想计算斐波那契级数的商,这样: 我已经创建了一个函数来计算Fbonacci级数,这是可以的,但是我在计算商时遇到了麻烦。这是我的职责: fibonacci <- function(n){ numbers <- numeric(n) numbers[1] <- 1 numbers[2] <- 1 for (i in 3:n) numbers[i] <- numbers[i-1]+numbers[i-2] return(numbers
fibonacci <- function(n){
numbers <- numeric(n)
numbers[1] <- 1
numbers[2] <- 1
for (i in 3:n)
numbers[i] <- numbers[i-1]+numbers[i-2]
return(numbers)
}
fibonacci目前,您正在将所有数字除以n-1
th数字。你的功能是给你价值观
fibonacci_q(10)
#[1] 0.0294 0.0294 0.0588 0.0882 0.1471 0.2353 0.3824 0.6176 1.0000 1.6176
这等于
fibonacci(10)/34
#[1] 0.0294 0.0294 0.0588 0.0882 0.1471 0.2353 0.3824 0.6176 1.0000 1.6176
为什么是34岁?因为它是fibonacci(10)
序列中的第9个数(即n-1
th个数)
您需要将函数更改为
fibonacci_q <- function(n){
numbers <- numeric(n)
numbers[1] <- 1
numbers[2] <- 1
for (i in 3:n)
numbers[i] <- numbers[i-1]+numbers[i-2]
return(c(NA, numbers[-1]/numbers[-length(numbers)]))
}
fibonacci_q(10)
# [1] NA 1.00 2.00 1.50 1.67 1.60 1.62 1.62 1.62 1.62
该死,我被困在里面了。基本上,从数字向量中去掉第一个元素。但是后来,
numbers[-length(numbers)
在做什么呢?@Miguel2488它从数字向量中删除了最后一个数字。所以基本上,第二个数字除以第一个,第三个除以第二个,第n个除以第n-1个。啊,这相当于numbers[i-1]
?没有。请检查a非常感谢您的帮助!!我现在很明白了
fibonacci_q <- function(n){
numbers <- numeric(n)
numbers[1] <- 1
numbers[2] <- 1
for (i in 3:n)
numbers[i] <- numbers[i-1]+numbers[i-2]
return(c(NA, numbers[-1]/numbers[-length(numbers)]))
}
fibonacci_q(10)
# [1] NA 1.00 2.00 1.50 1.67 1.60 1.62 1.62 1.62 1.62
c(NA, fibonacci(10)[-1]/fibonacci(10)[-10])
#[1] NA 1.00 2.00 1.50 1.67 1.60 1.62 1.62 1.62 1.62