2012-04-04 113 views
1

我有一个形式为a * x + b的函数,我想将这个函数从0整合到t,其中t将被重复设置为非常大(长度为100000)的矢量值。我在for循环中使用了四元函数,但是要花费太多时间来计算向量中每个值的积分。有没有什么有效的方法来在Matlab中实现这一点?Matlab中的高效积分函数

+3

这难道不是为你的向量的所有元素t计算1/2 * a * t * t + b * t吗? – jmhl 2012-04-04 20:49:17

回答

3

实际上,你不需要自己实现它,你 可以通过使用“matlab的数值积分功能”搜索吧...

首先functons进入我的脑海里有;

Trapezoidal --> trapz(X,Y) 

Cumulative Trapezoidal --> cumtrapz(X,Y) 

Adaptive Lobatto Quadrature --> quadl 

Adaptive Gauss-Kronrod Quadrature --> quadgk 

Vectorized Quadrature --> quadv 
0

cumtrapz();

严重CumTrapz

它计算积分的trapazoidal aproximation。