此示例显示了如何以数字方式集成一组离散速度数据以近似行动的距离。这不可缺少的
家庭仅接受函数把手作为输入,因此这些功能不能与离散数据集一起使用。采用trapz.
要么Cumtrapz.
当功能表达式不可用于集成时。
考虑以下速度数据和相应的时间数据。
vel = [0 .45 1.79 4.02 7.15 11.18 16.09 21.90 29.05 29.05......29.05 29.05 29.05 22.42 17.9 17.9 17.9 17.9 17.9 14.34 11.01......8.9 6.54 2.03 0.55 0];时间= 0:24;
该数据代表了24秒以上间隔拍摄的汽车(M / s)的速度。
绘制速度数据点并用直线连接每个点。
图绘图(时间,vel,' - *') 网格在标题('汽车速度')Xlabel('时间'')ylabel('速度(m / s)')
在加速期间,斜率是阳性的,在恒定速度期间零,零期间在减速期间阴性。当时t = 0.
,车辆休息VEL(1)= 0
多发性硬化症。车辆加速,直到达到最大速度T = 8.
S of.VEL(9)= 29.05
M / s并保持4秒的速度。然后减速到vel(14)= 17.9
m / s为3 s,最终返回休息。由于这种速度曲线具有多个不连续性,因此单个连续功能无法描述。
trapz.
通过使用数据点来创建梯形,因此执行离散集成,因此非常适合处理具有不连续性的数据集。当数据点之间的行为是非线性时,该方法可以在数据点之间采用线性行为,并且可以减少准确度。为了说明,您可以使用数据点作为顶点将梯形图绘制到图表上。
Xverts = [时间(1:结束-1);时间(1:结束-1);时间(2:结束);时间(2:结束)];yverts = [零(1,24);VEL(1:端1);vel(2:结束);零(1,24)];p =补丁(xverts,yverts,'B'那'行宽',1.5);
trapz.
通过将区域打入梯形来计算一组离散数据下的区域。然后该功能将每个梯形的区域添加以计算总面积。
计算汽车(对应于阴影区域)行进的总距离,通过数值使用速度数据trapz.
。默认情况下,假定点之间的间距1
如果使用语法trapz(y)
。但是,您可以指定不同的统一或不均匀的间距X
用语法trapz(x,y)
。在这种情况下,读数之间的间距时间
矢量是1
,因此使用默认间隔是可以接受的。
距离= trapz(vel)
距离= 345.2200.
汽车行驶的距离t = 24.
S约为345.22米。
这Cumtrapz.
功能与之密切相关trapz.
。尽管trapz.
仅返回最终集成值,Cumtrapz.
还返回向量中的中间值。
计算行进的累积距离并绘制结果。
Cdistance = Cumtrapz(vel);t =表(时间',cdistance','variablenames',{'时间'那'cumilativeistance'})
t =25×2表时间umpulativeistance __________________0 0 0 1 0.225 2 1.345 3 4.25 4 9.835 5 19 6 32.635 7 51.63 8 77.105 9 106.15 10 135.2 11 164.25 12 193.31 13 219.04 14 239.2 15 257.1⋮
情节(Cdistance)标题('每秒行驶的累计距离')Xlabel('时间'')ylabel('距离(m)')