我知道兩個向量x和y,我怎樣才能計算y相對於R中的x的導數?通過知道兩個數字向量得到一個導數
x<-rnorm(1000)
y<-x^2+x
我想計算y關於x:dy/dx的導數;假設我不知道x和y之間的基礎函數。在每個x對應的導數刻度中可以有一個值。
我知道兩個向量x和y,我怎樣才能計算y相對於R中的x的導數?通過知道兩個數字向量得到一個導數
x<-rnorm(1000)
y<-x^2+x
我想計算y關於x:dy/dx的導數;假設我不知道x和y之間的基礎函數。在每個x對應的導數刻度中可以有一個值。
要找到導數,請使用數值近似值:(y2-y1)/(x2-x1)或dy/dx。中的R使用diff函數來計算連續的2點之間的差:
x<-rnorm(100)
y<-x^2+x
#find the average x between 2 points
avex<-x[-1]-diff(x)/2
#find the numerical approximation
#delta-y/delta-x
dydx<-diff(y)/diff(x)
#plot numeric approxiamtion
plot(x=avex, dydx)
#plot analytical answer
lines(x=avex, y=2*avex+1)
如果繪製這些點:'圖(X,Y,類型=「L」)'它看起來並不很象一個連續的函數,其中衍生物是有意義的。這真的是你在做什麼? – MrFlick
如果你有'y <-rnorm(1000)'和'x < - 1:1000',你可以計算'dy/dx',但在你的情況下你甚至不敢保證有函數。你可以有兩個不同的y值,一個函數永遠不會有。 –
在第二種情況下,dy/dx < - 2 * x + 1' –