2012-04-04 114 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。