2017-04-11 472 views
2

我一直在使用R只有一个月,所以请耐心等待。我写了并绘制了以下功能:R:绘制函数,“不是图形参数”

func.1 <- function(x) {(-log(x))/(1+x)} 
plot(func.1, from = 0, to = 6) 

其工作,但现在我想编写和绘制函数逼近与差商的导数:

diff.quot <- function(x, h = .0001) {(func.1(x+h)-func.1(x))/h} 
plot(diff.quot) 

所有上面的代码运行良好,直到我试图改变绘图函数中h的值。我想不同的H值都具有相同的功能绘制diff.quot,但我不能:

plot(diff.quot, from = 0, to = 6, h = .01) 

运行这段代码给了我以下警告:“在doTryCatch(返程(表达式)名称,parentenv,处理程序):“h”不是图形参数“。任何想法我做错了什么?

+0

看起来像它具有的第二个参数'h'到'diff.quot'的问题。尝试从plot调用中除去'h = .01'('diff.quot'将使用默认值'h = .0001')。 – vincentmajor

+0

@vincentmajor但是我怎么能用不同的'h'值来绘制'diff.quot'而不需要额外的功能呢?我只想使用相同的功能来制作多个地块。 –

回答

2

您应该使用curve而不是plot这样的:

curve(diff.quot(x,h=0.01), from = 0, to = 6) 

enter image description here