2014-09-03 45 views
2

我正在致力於一個我們想要導出爲.exe的MATLAB項目。生成的文件必須能夠在32位和64位Windows 7 PC上運行。MATLAB 32位可執行文件與優化工具箱的功能崩潰

經過一點點research我們發現這個問題更容易通過開發32位版本的MATLAB構建,然後32位.exe文件。

至此,我們所有的開發工作都在MATLAB的64位版本中進行。有了它,我們已經能夠成功生成並運行64位的.exe版本。

現在,我們切換到MATLAB 32位,但是,我們產生了.exe,不順心的事,並顯示以下錯誤:

Undefined function ‘fmincon’ for input arguments of type ‘function handle’.

這是代碼行中fmincon第一次出現:

Options = optimoptions('fmincon', 'DiffMinChange', 10);

一個幾句話:

  1. 使用MATLAB 64位的相同腳本也適用於32位的MATLAB 。在MATLAB環境中,一切運行平穩。
  2. 腳本(具有相同的代碼)仍然可以在MATLAB 64位上執行而沒有任何問題。
  3. 在這兩種情況下,我們都正確安裝了要在PC上運行的MATLAB可執行文件所需的運行時。
  4. 我們嘗試在64位和32位機器上運行32位.exe,結果相同。

是否有可能MATLAB的已部署可執行文件的32位版本在處理優化工具箱中的函數時遇到問題(如fmincon是)?

還有什麼可能是這個問題的原因?有沒有人有一個想法如何解決它?

回答

1

由於MATLAB的支持,問題才得以解決。這與版本R2014a中的錯誤有關,在Mathworks link中進行了解釋和修補。