

MATLAB Coder 可以將MATLAB代碼生成工程中常用的嵌入式或其他硬件平臺的C或者C++代碼。使用者可以在MATLAB中進行驗證,然后將生成后的代碼集合到工程中。集合的方式可以是源碼,靜態庫和動態庫。

在最近發布的 R2018b (4.1版)中,Coder 中新增了一些功能,包括了對深度學習,統計與機器學習,5G和模糊邏輯,跟蹤和傳感融合等工具箱進行了update,另外一部分是對 Coder 本身的功能進行了擴展,增加了樹莓派硬件的支持包,對標準數學庫,類支持和編譯器支持等進行了擴展。
-
本文將對如何利用 MATLAB 的 Coder 將 MATLAB 代碼轉為 C (C++同理)進行介紹。
首先,在MATLAB中創建一個函數,這里構造了一個簡單的函數RadarSay,假設存在4個通道的數據,通過該函數,可以得到目標的距離,速度和角度,以及SNR信息。

然后在寫一個測試腳本,驗證函數是否實現功能。

可以看到,通過運行測試腳本,利用測試數據可以得到目標的距離,速度和角度以及SNR信息。

下一步,在APP界面中打開Coder,進行MATLAB轉C的處理。

打開將要進行轉C的MATLAB函數

定義函數輸入參數的數據類型,這里可以手動輸入也可以利用測試腳本自動識別。

然后對轉C的MATLAB函數進行錯誤和語法檢查。

最后一步生成C/C++代碼,直接點擊生成即可。

生成成功會有完成提示。

下面將用VS2013對生成的C語言進行驗證,如圖創建一個空的工程。

將上面生成的.c文件和.h文件分別添加到頭文件和源文件目錄下。

對Coder的C代碼結果與MATLAB結果進行對比,結果一致。

> 軟件環境
- MATLAB R2018a 64bit
- VS2013
后臺回復 MATLAB 可獲取R2018a版本MATLAB的下載鏈接。
