Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的不定积分_R - Fatal编程技术网

R中的不定积分

R中的不定积分,r,R,我想计算一个方程的不定积分 我通过一个visualc程序将加速度计的数据输入到R中,从那里可以很简单地得到一个表示加速度曲线的方程。这一切都很好,但是我还需要计算撞击速度。从我高中时代的理解来看,加速度曲线的不定积分将产生速度方程 我知道用integrate()函数进行数值积分很容易,有什么可以与不定积分相比的吗 library(Ryacas) x <- Sym("x") Integrate(sin(x), x) 另一种方法: yacas("Integrate(x)Sin(x)") 您

我想计算一个方程的不定积分

我通过一个visualc程序将加速度计的数据输入到R中,从那里可以很简单地得到一个表示加速度曲线的方程。这一切都很好,但是我还需要计算撞击速度。从我高中时代的理解来看,加速度曲线的不定积分将产生速度方程

我知道用
integrate()
函数进行数值积分很容易,有什么可以与不定积分相比的吗

library(Ryacas)
x <- Sym("x")
Integrate(sin(x), x)
另一种方法:

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

您可以找到函数引用

,正如Ben所说,尝试Ryacas包来计算函数的反导数。但是你可能应该问问自己,你是否真的想要生成一个连续的函数,这个函数一开始只是近似你的数据(拟合误差)。我会坚持对你的实际数据进行数值积分。当然,请记住每个数据点的不确定性。

如果您提到的NA在指示无加速度输入的意义上具有信息性,则应将其替换为零。假设您在
acc.vec
中有数据,并且设备以
rec\u/sec
的速率记录:

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

如果你指的是符号不定积分,那么就不是了。(但有一些接口,例如Yacas[“另一个计算机代数系统”]可能会这样做。)另一方面,在我看来,所有的数值积分在某种意义上都是确定的(即,要得到答案,你必须指定极限)。当然,你可以拟合平滑样条线()并整合它…感谢大家的投入!我在寻找不定积分,因为我也想绘制速度-时间图(为了视觉目的…不一定要非常精确)。感谢关于Yacas的提示,但它似乎不喜欢我传递给它的函数(NA是由强制产生的)。我想我可以通过我的加速函数进行增量积分,因为某一点的速度等于从0到该点的积分,但是要得到一条像样的曲线,需要大量的迭代。除了Ryacas之外,还有rSymPy包,它使用Python的Symphy作为CAS。感谢您的响应!数据中没有NA,来自加速计的输入总是一个值,我从来没有看到0的值从我的缓冲区出来。感谢您的速度与时间提示!很好!我几乎放弃了,然后我想我会再来这里检查一次。
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")