2016-10-03 131 views
2

我想將一些用MATLAB編寫的代碼轉換爲C++。我有一些(或者實際上相當多的)麻煩找到替代的「fminunc」函數,這是在MATLAB代碼中使用的,我可以在C++代碼中替換和使用它。我一直在看「dlib」 - 庫,因爲我聽說它可能是我可以使用的一個函數,但我不確定要使用哪個函數。很好的C++替代MATLAB的「fminunc」?

這是怎樣的「fminunc」在MATLAB代碼中使用我想轉換:

[theta, cost] = ... 
fminunc(@(t)(costFunction(t, X, y)), initial_theta, options); 

有誰知道在C++中的任何好的優化功能也是這樣嗎?

+2

「C中的數字食譜」? –

+0

神經網絡,有什麼機會?你不想簡單地找到與'fminunc'等價的東西 - 這個選項太多了。你想在你的問題領域找到一個相當於'fminunc'的東西。 – MSalters

回答

0

我相信你正在尋找的是Google的Ceres Solver,這是一個用於建模和解決大型複雜優化問題的開源C++庫。該代碼旨在處理兩類問題:

  1. 帶邊界約束的非線性最小二乘問題。
  2. 一般無約束優化問題。

自動微分也支持。

幾個很酷的示例應用程序可以找到here