从r中的一个定点零计算速度

从r中的一个定点零计算速度,r,physics,R,Physics,我试图在R中计算数据帧中加速度的速度,其中第一个值固定为0。我想使用v=u+at从velocity[2:nrow(试用数据)]中找到速度,其中t是一个常数0.002。初始数据帧如下所示: trial.data <- data.table("acceleration" = sample(-5:5,5), "velocity" = c(0)) acceleration velocity 1 0 0 2 5 0 3

我试图在R中计算数据帧中加速度的速度,其中第一个值固定为0。我想使用v=u+at
velocity[2:nrow(试用数据)]
中找到速度,其中t是一个常数0.002。初始数据帧如下所示:

trial.data <- data.table("acceleration" = sample(-5:5,5), "velocity" = c(0))

     acceleration velocity
 1         0        0
 2         5        0
 3        -1        0
 4         3        0
 5         4        0

速度是累积加速度,因此使用
cumsum

trial.data <- data.table("acceleration" = c(0,5,-1,3,4))
u <- 0 #starting velocity
velocity <- c(u,u+cumsum(trial.data$acceleration)*0.002)
trial.data$velocity <- velocity[-length(velocity)]

请注意,速度向量有一个最终元素(恰好为0.022),在将其读入数据表时忽略了该元素,因为否则列的长度将不相等。上述代码以
u=0
开始,但
u
可以更改为任何其他启动速度,代码将按预期工作。

速度是累积加速度,因此使用
cumsum

trial.data <- data.table("acceleration" = c(0,5,-1,3,4))
u <- 0 #starting velocity
velocity <- c(u,u+cumsum(trial.data$acceleration)*0.002)
trial.data$velocity <- velocity[-length(velocity)]
请注意,速度向量有一个最终元素(恰好为0.022),在将其读入数据表时忽略了该元素,因为否则列的长度将不相等。上述代码以
u=0
开始,但
u
可以更改为任何其他启动速度,代码将按预期工作

> trial.data
   acceleration velocity
1:            0    0.000
2:            5    0.000
3:           -1    0.010
4:            3    0.008
5:            4    0.014