【发布时间】:2014-11-27 20:14:13
【问题描述】:
在 Matlab 中,如果给定一个时间序列数据集,其中第二列值是第一列时间的函数,并且我需要对第二列值进行积分,我该怎么做?一个函数?
【问题讨论】:
标签: matlab
在 Matlab 中,如果给定一个时间序列数据集,其中第二列值是第一列时间的函数,并且我需要对第二列值进行积分,我该怎么做?一个函数?
【问题讨论】:
标签: matlab
你为什么不直接使用 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
【讨论】:
在 MATLAB 中你可以使用函数
cumtrapz(time,data)
这是累积梯形积分。 2 个输入是具有相同长度的向量。 通过这种方式,您可以获得例如对加速度进行积分的速度。 输出是一个与输入长度相同的向量。
编辑
你也可以看看我在这里回复的Numerical integration using Simpson's Rule on discrete data
【讨论】: