我知道两个向量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' –