Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
抱歉,这可能是基本的,但我是新手。我会做很多曲线,所以一些建议对我有用。
我有一个要绘制的函数:
f <- function(x) sum(4*sin(x*seq(1,21,2))/(pi*seq(1,21,2)))
使用
curve(f, -pi, pi, n=100)
不幸的是,这对我不起作用。请指教。谢谢
您的功能未矢量化。目前它只需要一个标量输入并输出一个返回值。 curve期望它应该能够输入它想要绘制的 x 值的向量,并且应该接收响应值的向量。最简单的解决方案是仅用于Vectorize自动将您的函数转换为可以接受向量输入的函数。
curve
Vectorize
f2 <- Vectorize(f) curve(f2, -pi, pi, n = 100)
但是,您可能只想直接编写函数的矢量化版本。