2012-02-07 43 views
1

我正在嘗試將Matlab代碼移植到Java和C++。 這是很簡單的,但是我發現一個函數比簡單的操作,它還數值計算積分:在Java和C++中可以使用Matlab函數'quad'嗎?

lungh=quad('normpp',0,1,[],[],x1,x2,x3,x4,x5,x6,x7,y1,y2,y3,y4,y5,y6,y7); 

這裏x1,...,x8y1,...,y7是簡單的數字。首先,如何解釋這個參數?這個功能如何工作?

我認爲0和1是積分的界限......但其他的呢?特別是'normpp'[]

我讀了quad help,但我不明白它如何處理這麼多的參數。

第二個問題是:是否存在提供這些函數的java和C++庫? 我寧願直接在Java和C++中調用,而不調用Matlab。

謝謝!

+1

關於你的第一個問題:http://www.mathworks.com/help/techdoc/ref/quad.html – 2012-02-07 09:42:13

+3

這有很多實現的鏈接http://en.wikipedia.org/wiki/Numerical_integration – 2012-02-07 09:47:39

+0

@PaulManta謝謝,我之前做過,但是我不明白上面提到的所有參數的含義。 – Maverik 2012-02-07 10:12:24

回答

1

在C中有一個非常好的庫:Gnu科學圖書館(GSL)。 這裏是對GSL的數值積分頁面的鏈接: GSL

在C++項目使用這個庫是直線前進。 我認爲函數gsl_integration_qag是取代matlab四元函數的好選擇。

相關問題