可能重复:
How do I do numerical integration of a vector in MATLAB?
我有一个x-y
数据集(见图),但我没有数据的基本功能,所以我不能使用符号集成。有一种简单的方法可以用数字方式整合曲线吗?
我能想到的唯一方法是将for
循环超过evey y值乘以彼此相邻的两点之间的delta x?还有其他方法吗?
答案 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这样的集成方案。你会想要一些使用变量增量的东西,这样你可以使用一个更大的步骤,其中函数是平坦的,而较小的一步来捕获那些峰值。