r - 通过知道两个数值向量得到导数

标签 r derivative

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

Original function

现在您可以将 y 差异除以 x 差异。

plot(x[-1],diff(y)/diff(x))
abline(1,2)

Derivative

结果与理论结果d(x) = 2x+1吻合良好

如果您想掌握导数的函数,只需对您拥有的所有点使用approxfun即可。

deriv = approxfun(x[-1], diff(y)/diff(x))

再一次,绘制该图与预期导数非常吻合。

关于r - 通过知道两个数值向量得到导数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44210841/

相关文章:

r - Data Frame,错误总结

将具有 NA 的行删除到特定列和条件中

r - 在 R 中将两个向量合二为一

discrete-mathematics - 使用离散方法计算导数

r - R 中的类表达式。其中元素的使用

python - 使用 sympy 的汉克尔函数的二阶导数

r - 在 R 中聚合有条件

引用另一个表中的列名以插入共享 ID 中的值

java - 曲线路径恒速和终点

python - 如何使用 SymPy 加速长函数的符号导数?