我已经生成了一些阻尼摆运动的真实数据:
我通过取连续点的差异并除以时间差异来取其在 R 中的导数。这张图片有1202个数据点。
这给出了这个图表:
我再次取了这张图的导数:
但是,此图非常不稳定且无法用于分析。我想知道R中是否有一个允许精确数值微分的函数?我知道傅立叶变换,尽管我不确定如何将它们直接应用到阻尼摆上。
这是我在 R 中用来计算导数的函数:
derivative <- function(x,y,deriv0){
# deriv0 = value of the derivative at time zero
deriv <- diff(y[2:length(x)]) / diff(x[2:length(y)])
w = length(x)-2
deriv <- c(deriv0,deriv[1:w])
time <- x[1:length(x)-1]
return(data.frame(time,deriv))
}
原始数据集在这里:
谢谢