我有以下代码:
e <- expression(x^2+3*x-3)我想用R的符号导数函数D绘制一阶导数的图:
curve(D(e), from=0, to=10)但是,我得到了以下错误:
Error in curve(expression(e), xname = "x", from = 0, to = 3000) : 
     'expr' must be a function, or a call or an expression containing 'x'我试图将D(e)封装在对eval()的调用中,但没有结果。
再试一试:
substitute(expression(x^2+3*x-3), list(x=3))如预期的那样,取得了以下成果:
 expression(3^2+3*3-3)但是:
 substitute(e, list(x=3))在以下方面的成果:
 e这是怎么回事?我该怎么做呢?
发布于 2013-10-17 14:44:06
有点笨重,但是
eval(substitute(curve(y),list(y=D(e,"x"))))似乎很管用。我也是
do.call(curve,list(D(e,"x")))发布于 2013-10-17 14:54:20
函数更易于操作和测试:
e <- expression(x^2+3*x-3)
de <- D(e, 'x')
fde <- function(x) eval(de)
curve(fde, from=0, to=10)https://stackoverflow.com/questions/19429463
复制相似问题