问题:使用以下数据查找速度和加速度 在t = 10秒时:
Time, t, s 0 2 4 6 8 10 12 14 16
Position, x, m 0 0.7 1.8 3.4 5.1 6.3 7.3 8.0 8.4
我解决了居中的有限差异
如何在Scilab中应用此功能?
答案 0 :(得分:0)
使用中心差异计算给定数组x和t的速度:
v = (x(3:$) - x(1:$-2)) ./ (t(3:$) - t(1:$-2))
要了解这一点,请关注每个范围中的第一个索引:
(x(3) - x(1)) ./ (t(3) - t(1))
显然,这是第二时刻的速度。该公式可以在可能的情况下执行此计算;中心差异公式不适用于第一个和最后一个时刻。有人可能想引入截断的时间范围来反映这一点:
tr = t(2:$-1)
同样适用于加速:
a = (x(3:$) - 2*x(2:$-1) + x(1:$-2)) ./ (t(3:$) - t(1:$-2)).^2
现在可以使用plot(tr,v)
或plot(tr,a)
绘制。要在时间为10时查找其值,请使用
v(tr==10)
和
a(tr==10)