基数为R的曲线函数

时间:2013-07-30 15:32:48

标签: r function curve

对不起,这可能是基本但我是新手。我会做很多曲线,所以一些建议对我有用。

我有一个我想绘制的功能:

f <- function(x) sum(4*sin(x*seq(1,21,2))/(pi*seq(1,21,2)))

使用

curve(f, -pi, pi, n=100)

不幸的是,这对我不起作用。请指教。 感谢

1 个答案:

答案 0 :(得分:4)

你的功能没有矢量化。目前它只需要一个标量输入并输出一个返回值。 curve期望它应该能够输入它想要绘制的x值的向量,并且应该接收响应值的向量。最简单的解决方案是使用Vectorize自动将您的函数转换为可以进行矢量输入的函数。

f2 <- Vectorize(f)
curve(f2, -pi, pi, n = 100)

但是,您可能只想直接编写函数的矢量化版本。