R中的不定积分

时间:2011-11-08 12:10:19

标签: r

我希望计算方程的不定积分。

我通过可视化C程序将来自加速度计的数据输入到R中,并且从那里可以很容易地得出表示加速度曲线的等式。这一切都很好,但我也需要计算冲击速度。根据我对良好的高中时代的理解,我的加速曲线的不确定积分将得出速度的等式。

我知道用integrate()函数进行数值积分很容易,有没有可以与无限积分相比的东西?

3 个答案:

答案 0 :(得分:9)

library(Ryacas)
x <- Sym("x")
Integrate(sin(x), x)

给出

expression(-cos(x))

另一种方式:

yacas("Integrate(x)Sin(x)")

您可以找到函数参考here

答案 1 :(得分:1)

正如Ben所说,尝试使用Ryacas软件包来计算函数的反导数。但是你可能应该问自己,你是否真的想要生成一个连续函数,它只能在一开始就近似你的数据(拟合错误)。我坚持实际数据的数值整合。当然,请记住每个数据点的不确定性。

答案 2 :(得分:1)

如果你提到的NA在指示没有加速输入的意义上是有用的,那么它们应该用零替换。我们假设您拥有acc.vec中的数据,并且设备以rec_per_sec的速率记录:

acc.vec[is.na(ac.vec)] <- 0
vel.vec <- cumsum(acc.vec)/recs_per_sec

我不认为构建最佳拟合曲线会在这种情况下提高您的准确性。绘制速度与时间的关系:

plot(1:length(acc.vec)/recs_per_sec, vel.vec, 
       xlab="Seconds", ylab="Integrated Acceleration = Velocity")