trapz
不能因为你只传递一个值用于x和y。而且直接集成不是正确的事,因为加速度不是常数。相反,你可以做的是适合一行(线性回归)之间的时间和速度。直线的斜率是加速度。然后,您可以使用d = 0.5 * * ((delta_time) ^ 2)加速度得到每个时间间隔的距离这里。
关闭所有;
散射(时间、速度);
网格在;持有在;
b1 =时间“\速度”;%线性回归;
% b1 =加速度
vcalc1 = b1 *时间;
情节(时间、vcalc1的r -网格);在;
% %每个时间间隔之间的距离
time_diff = diff(时间);% diff -连续分化。不需要循环
d = 0.5 *。* (time_diff。^ 2);
% %输出
d =
449.28 112.32 112.32 449.28 3778.4 40.435 17832
![](http://www.tianjin-qmedu.com/matlabcentral/answers/uploaded_files/179633/image.png)