利用 MATLAB Coder 將M代碼生成C/C++代碼

利用 MATLAB Coder 將M代碼生成C/C++代碼

來自專欄 automotive radar 說8 人贊了文章利用MATLAB Coder將MATLAB代碼生成C/C++代碼?

mp.weixin.qq.com圖標

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進行頻域分析

TAG:MATLAB | 數字信號處理 | 雷達 |