2015-09-21 47 views
0

我想用Matlab編碼器在Matlab-r2015a中構建一個Mex函數。我想轉換的入口點函數是alg.m,它由main.m調用。爲什麼Matlab編碼器速度很慢?

按照程序,我在要求我「爲每個入口點函數定義每個輸入的類型」的步驟。我選擇自動程序並輸入main.m

我的問題是:爲了定義每個輸入的類型,Matlab編碼器需要很長時間;下一步會出現同樣的問題,當我必須檢查Matlab代碼中是否存在問題時。那是因爲Matlab必須執行整個main.m+alg.m

我懷疑這應該是這樣的,因爲當我強加使計算速度更快的參數值時,輸入類型和問題檢查立即完成。無論如何,我希望有更多的解釋和解決問題的建議(如果有的話)。

+0

我們如何重現您的問題? – NKN

+0

我想知道matlab編碼器的工作原理:是否需要運行matlab算法來創建mex函數?有沒有辦法避免這種情況? – user3285148

回答

0

你是對的,兩個步驟Define Input TypesCheck for Run-Time Issues運行main.m這將依次運行alg.m

如果入口點函數的輸入數據類型不改變,可以編寫兩個測試平臺(即main.m的兩個版本) - 一個短的調用入口點以定義輸入類型,以及更全面的練習alg.m。前者可用於快速定義輸入類型,後者應用於檢查運行時問題。

相關問題