2017-04-11 473 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