Scilab的中心有限差分

时间:2016-07-06 21:09:50

标签: scilab

问题:使用以下数据查找速度和加速度 在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

我解决了居中的有限差异

enter image description here

如何在Scilab中应用此功能?

1 个答案:

答案 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)