如何将正交多项式分配给函数?

How to assign the Orthogonal Polynomials to functions?

我正在尝试为 class 分配绘制拉盖尔正交多项式。我想创建 10 个函数,每个函数通过索引 i.

分配给一个特定的多项式

for (i in 1:10){
  opl[i] <- function(x) {opl[3]}
}

然后用curve()画出来。 但它不起作用。 laguerre.polynomials() 函数将多项式作为列表提供,我认为问题在于我的循环无法通过索引从列表中提取项目并将其分配给函数。

有什么想法吗?

您可以使用 as.function 将多项式转换为函数,例如通过

library(orthopolynom)
library(ggplot2)

opl <- laguerre.polynomials(10)

opl_functions <- lapply(opl, as.function)

# x interval
x <- seq(-1, 1, 0.05)

# plot the first two polynomials
ggplot(data.frame(x), aes(x = x, y = y)) +      # basic graphical object
    geom_line(aes(y = opl_functions[[1]](x)), colour = "red") +  # first layer
    geom_line(aes(y = opl_functions[[2]](x)), colour = "blue") # second layer

# and so on ...

opl_functions 的第 i 个元素就是第 i 个多项式,具体取决于 x。然后可以使用它来绘制多项式。