2012-03-15 118 views
5

我在matlab中編寫了一個研究項目,它使用了很多我不想用C++重新實現的函數,所以我正在尋找庫來處理這些函數。我需要的功能有:(按重要性排序)用於信號處理的C++庫

  1. 希爾伯特變換
  2. 矩陣功能(行列式,逆,乘...)
  3. 查找多項式的根(爲度大於5)
  4. FFT
  5. 卷積
  6. 相關性(在Matlab xcorr)
+0

你有沒有試過尋找這些你自己呢?你發現了什麼? – 2012-03-15 15:13:23

+0

這些都是標準的數字例程,谷歌應該通過實施,開放源代碼,商業廣告和其間的一切來壓倒你。 As @ Li-aung Yip問道 - 你發現了什麼? – 2012-03-15 15:20:20

+0

'C中的數字食譜可能包含你想要的大部分... – 2012-03-15 15:22:08

回答

2

一旦你得到了你可以收工一切節省數2和3

的線性代數要求可以用PETSc的www.mcs.anl.gov/petsc/這FFTW支持滿足的FFT。

我不知道你將如何去尋找根。你可能必須自己編寫代碼(平分,牛頓的方法等),但它是目前實現上最容易實現的目標。

4

我不瞭解其中大部分,但FFTW是「西方最快的傅里葉變換」。它用於fft()的MATLAB實現中。

2

我不確定可用的庫,但如果您已經有用matlab編寫的函數,還有另一種選擇。

如果你編譯matlab functions to a dll它們可以通過C++程序調用。這將允許您訪問您已有的matlab函數而無需重寫。