如何在MATLAB中以数字方式集成曲线?

时间:2011-08-08 14:51:04

标签: matlab

  

可能重复:
  How do I do numerical integration of a vector in MATLAB?

我有一个x-y数据集(见图),但我没有数据的基本功能,所以我不能使用符号集成。有一种简单的方法可以用数字方式整合曲线吗?

我能想到的唯一方法是将for循环超过evey y值乘以彼此相邻的两点之间的delta x?还有其他方法吗?

enter image description here

2 个答案:

答案 0 :(得分:3)

trapz可能就是你要找的东西:

  

TRAPZ梯形数值积分。

Z = TRAPZ(X,Y) computes the integral of Y with respect to X using
the trapezoidal method.  X and Y must be vectors of the same
length, or X must be a column vector and Y an array whose first
non-singleton dimension is length(X).  TRAPZ operates along this
dimension.

答案 1 :(得分:2)

您应该关注像Runge-Kutta或Burlish-Stoer这样的集成方案。你会想要一些使用变量增量的东西,这样你可以使用一个更大的步骤,其中函数是平坦的,而较小的一步来捕获那些峰值。