我知道两个向量x和y,我如何计算R中y相对于x的导数?
x<-rnorm(1000)
y<-x^2+x
我想计算 y 对 x 的导数:dy/dx;假设我不知道 x 和 y 之间的基本函数。每个 x 都可以有一个对应于导数尺度的值。
最佳答案
您的数据的唯一问题是它没有排序。
set.seed(2017)
x<-rnorm(1000)
y<-x^2+x
y = y[order(x)]
x = sort(x)
plot(x,y)
现在您可以将 y 差异除以 x 差异。
plot(x[-1],diff(y)/diff(x))
abline(1,2)
结果与理论结果d(x) = 2x+1吻合良好
如果您想掌握导数的函数,只需对您拥有的所有点使用approxfun
即可。
deriv = approxfun(x[-1], diff(y)/diff(x))
再一次,绘制该图与预期导数非常吻合。
关于r - 通过知道两个数值向量得到导数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44210841/