1

在 Matlab 中,如果给定一个时间序列数据集,其中第二列值是第一列时间的函数,并且我需要对第二列值进行积分,如果没有函数,我该怎么做?

4

2 回答 2

1

在 MATLAB 中,您可以使用该函数

 cumtrapz(time,data) 

这是累积梯形积分。2 个输入是具有相同长度的向量。通过这种方式,您可以获得例如对加速度进行积分的速度。输出是一个与输入长度相同的向量。

编辑

您还可以看看我在这里回答的内容使用辛普森规则对离散数据进行数值积分

于 2014-11-02T14:13:08.143 回答
1

你为什么不只使用trapz函数。这是在 Octave 中,但在使用梯形方法的 Matlab 中应该是相同的。

octave-3.6.2.exe:1> x=1:5 x =

1 2 3 4 5

octave-3.6.2.exe:2> y=x.*x y =

1    4    9   16   25

octave-3.6.2.exe:3> 面积=trapz(x,y) 面积 = 42

于 2013-04-21T23:52:18.437 回答