利用 MATLAB Coder 將M代碼生成C/C++代碼
來自專欄 automotive radar 說8 人贊了文章利用MATLAB Coder將MATLAB代碼生成C/C++代碼
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的下載鏈接。
推薦閱讀:
※CodyNote005:最大長度子序列問題
※CodyNote007:超大整數的整除
※AMEsim & Matlab聯合模擬 ---軟體安裝方法
※基於Mex混合編程的分子動力學模擬(MD)
※如何使用matlab進行頻域分析