R语言,求助如何写code

现在要写个function 是解这个 p(x)= cn* x^n-1 + cn-1* x^n-2 +.... + c2 *x + c1
这function要用 x和 the vector of polynomial cofficients as arguments
Q1:这个function 大约要怎么写?能说下流程和那些变量吗。
Q2: 接着上面的设置,n比较大的话,可以用Horner's rule , 那这个要加在哪里

求大大,非常感谢先

# Q1 用apply
px = function(x, c) {
    sum(sapply(seq_along(c), function(y) c[y]*(x^(y-1)) ))
}
# Q1 用for loop
polynomial = function(x, c) {
  r <- 0
  for(i in length(c):1) {
    r <- r + c[i]*(x^(i-1))
  }
  r
}  
# Q2
horner <- function(x, c) {
  r <- 0
  for(i in length(c):1) {
    r <- r * x + c[i]
  }
  r
}

追问

不明白那个Q2,
horner rule 不是 a) an <- cn, for i = n-1,....1 b)set ai = ai+1 x + ci
c) return a1
好像和你那个差不多,能解释下吗,谢谢先

追答

r就是你公式里的a_1, a_2, ..., a_n

第一个循环,i = n = length(c)
a_n = r = 0*x +c[n]
第二个,i = n -1
a_(n-1) = r = r*x + c[n-1] = a_n * x + c[n-1]
...

温馨提示:答案为网友推荐,仅供参考
相似回答