C++包擴展_利用 MATLAB Coder 將M代碼生成C/C++代碼

46c1911b25db341ece0b754a525520de.png
利用MATLAB Coder將MATLAB代碼生成C/C++代碼?mp.weixin.qq.com
9ba48d5021d2713849e46db2adf0f460.png
MATLAB Coder 可以將MATLAB代碼生成工程中常用的嵌入式或其他硬件平臺的C或者C++代碼。使用者可以在MATLAB中進行驗證,然后將生成后的代碼集合到工程中。集合的方式可以是源碼,靜態庫和動態庫。

63a5bf205ec02b87c166010a2b2a3808.png
在最近發布的 R2018b (4.1版)中,Coder 中新增了一些功能,包括了對深度學習,統計與機器學習,5G和模糊邏輯,跟蹤和傳感融合等工具箱進行了update,另外一部分是對 Coder 本身的功能進行了擴展,增加了樹莓派硬件的支持包,對標準數學庫,類支持和編譯器支持等進行了擴展。

-

本文將對如何利用 MATLAB 的 Coder 將 MATLAB 代碼轉為 C (C++同理)進行介紹。

首先,在MATLAB中創建一個函數,這里構造了一個簡單的函數RadarSay,假設存在4個通道的數據,通過該函數,可以得到目標的距離,速度和角度,以及SNR信息。

44db19181449725fd5c3684570da39b2.gif

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

49a8a5d964cc9f89e68a1bb533f74f15.png

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

2104a9d2604a288fb3390e20374286ea.gif

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

1a2b212b29764b791279ea48485b91bf.gif

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

6d21aafffdab9b8fd23e32e49f8749cd.gif

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

1e3d4648bcd9c28a24b5eeb623135042.gif

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

afc89189560e2fb1a3758fc4c0b09b07.gif

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

35235d92441a2b5b05c84a64635b91e2.gif

生成成功會有完成提示。

77c2b4513372fa6bea87a177c78ee03e.gif

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

6b47ee15677135f4decb2ce62293a472.png

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

6168035a7595fe39edcc7a271e7533f6.gif

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

b96c1e483f8ffd791bc84663f343df95.gif

> 軟件環境

  • MATLAB R2018a 64bit
  • VS2013

后臺回復 MATLAB 可獲取R2018a版本MATLAB的下載鏈接。

8908fc7720f522135310838dbf1ea963.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454678.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454678.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454678.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux 進程通信機制,linux的進程通信機制小結

linux向應用軟件提供下列進程間通信手段:####第一類通信方式:只能用于父進程與子進程之間,或者兩個兄遞進程之間。>管道Pipe>信號Signal>跟蹤Trace管道:由父進程來建立。管道兩端的進程各自都將該管道視作一個文件。一個…

看穿面試這件事兒……

報 版權聲明:原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章原始出版、作者信息和本聲明。否則將追究法律責任。本文地址: http://blog.csdn.net/jobchanceleo/archive/2007/04/17/1568254.aspx 有個朋友Min十幾年工作經驗&…

阿里云胡曉明:數據智能將為城市生活帶來真正價值

8月30日,在2017全球(上海)人工智能創新峰會-世界人工智能城市規劃大會上,阿里巴巴集團資深副總裁、阿里云總裁胡曉明作《通往智能之路》主題演講,指出數據智能將從交通、醫療、城市治理等方面影響城市生活,…

MySQL 之 information_schema

一、information_schema簡介 在MySQL中,把 information_schema 看作是一個數據庫,確切說是信息數據庫。其中保存著關于MySQL服務器所維護的所有其他數據庫的信息。如數據庫名,數據庫的表,表欄的數據類型與訪問權 限等。在INFORMA…

【iCore1S 雙核心板_FPGA】例程十二:基于單口RAM的ARM+FPGA數據存取實驗

實驗現象: 核心代碼: module single_port_ram(input CLK_12M,input WR,input RD,input CS0,inout [15:0]DB,input [24:16]A,output FPGA_LEDR,output FPGA_LEDG,output FPGA_LEDB); //----------------------------pll-------------------------------//…

curl post https_Linux命令cURL詳解,并實現文件定時上傳到ftp服務器的程序

前言前段時間群里討論,想實現某個文件定時上傳到服務器要怎么來實現。我記得之前做過 一個項目:為高通的iot模組編寫FOTA功能:實現模組可以遠程下載升級鏡像包,實現版本升級功能。并當時使用的一個超級強大的工具cURL。心血來潮&a…

linux系統頁面緩存,Linux緩存機制之頁緩存

內核采用一種通用的地址空間方案,來建立緩存數據與其來源之間的關聯。1) 內存中的頁分配到每個地址空間。這些頁的內容可以由用戶進程或內核本身使用各式各樣的方法操作。這些數據表示了緩存中的內容;2) 后備存儲器struct backing_dev_info指定了填充地…

十月百度,阿里巴巴,迅雷搜狗最新面試七十題(更新至10.17)

十月百度,阿里巴巴,迅雷搜狗最新面試十一題 引言 當即早已進入10月份,十一過后,招聘,筆試,面試,求職漸趨火熱。而在這一系列過程背后浮出的各大IT公司的筆試/面試題則蘊含著諸多思想與設計&…

python threading 結束線程

python threading 啟動的線程,并沒有提供終止線程的方法,現總結一下在網上找到的方法 1、通過threading.Thread._Thread__stop()結束線程 import time import threading def f():while 1:time.sleep(0.1)print(1)t threading.Thread(targetf) t.start…

快讀模板

快速讀入字符 inline char readc(){ static char buf[1 << 18], *fs, *ft;return (fs ft && (ft (fs buf) fread(buf, 1, 1 << 18, stdin)), fs ft) ? EOF : *fs; } 快速讀入數字 inline int readint(){register char creadc();register int res0;re…

fasttext 文本分類_4種常見的NLP實踐思路【特征提取+分類模型】

越來越多的人選擇參加算法賽事&#xff0c;為了提升項目實踐能力&#xff0c;同時也希望能拿到好的成績增加履歷的豐富度。期望如此美好&#xff0c;現實卻是&#xff1a;看完賽題&#xff0c;一點思路都木有。那么&#xff0c;當我們拿到一個算法賽題后&#xff0c;如何破題&a…

Angular4學習筆記(六)- Input和Output

概述 Angular中的輸入輸出是通過注解Input和Output來標識&#xff0c;它位于組件控制器的屬性上方。 輸入輸出針對的對象是父子組件。 演示 Input 新建項目connInComponents:ng new connInComponents.新增組件stock:ng g component stock.在stock.component.ts中新增屬性stockN…

Python 常見加密方式和實現

Python 加密與解密小結 這篇文章主要介紹了Python 加密與解密,使用base64或pycrypto模塊 前言 據記載&#xff0c;公元前400年&#xff0c;古希臘人發明了置換密碼。1881年世界上的第一個電話保密專利出現。在第二次世界大戰期間&#xff0c;德國軍方啟用“恩尼格瑪”密碼機…

jenkins日志亂碼linux,Jenkins控制臺中亂碼問題解決

由于服務器環境及應用層各版本的不同、編碼方式的不同因此會有很多種情況會出現亂碼問題。由于Jenkins中的job運行的是獨立的一個shell環境&#xff0c;許多的環境變量與服務器中是不一樣的&#xff0c;因此在job中執行的命令也就會有所差異。因此可以在job中執行env命令&#…

13,反轉鏈表《劍指offer》

題目&#xff1a; 輸入一個鏈表&#xff0c;反轉鏈表后&#xff0c;輸出鏈表的所有元素。 思路&#xff1a; 反轉鏈表&#xff0c;對于片段 1--->2--->3循環操作&#xff1b; 要反轉鏈表需要兩步&#xff1a; 一&#xff0c;將2->next指向1 &#xff08;如果不保存3那…

什么是面試的關鍵?資深HR告訴你!

求職指南、面試寶典、應聘手冊……到任何一個書店去轉轉&#xff0c;總能發現一兩本這樣的書&#xff0c;有關面試應聘的包裝技巧實在太多&#xff0c;既讓應聘者眼花繚亂、無所適從&#xff0c;也讓人事經理頭疼&#xff0c;總擔心會被應聘者的包裝所蒙騙。東方控股集團有限公…

windows商店_Windows記事本應用現在可以從Microsoft Store中獲得

早在2019年8月&#xff0c;微軟就宣布將把人們最常用的Windows記事本應用搬到應用商店&#xff0c;讓這款深受用戶喜愛的應用更新速度更快、響應更靈敏。12月晚些時候&#xff0c;微軟卻放棄了這一計劃&#xff0c;也沒有給出太多理由。但現在&#xff0c;這一計劃已經完成&…

.net core linux 編譯,.NET Core 源碼編譯的問題解析

引言&#xff1a; .NET Core 源碼編譯https://github.com/dotnetgit clone https://github.com/dotnet/runtime.git一&#xff1a;Windows 編譯VS 2019 16.6(不要安裝預覽版)Win 10 專業版&#xff0c;最新版本 (1903/2004)長路徑支持&#xff1a;組策略(gpedit.msc) > 計算…

jmeter 壓測duobbo接口,施壓客戶端自己把自己壓死了

jmeter 壓測duobbo接口&#xff0c;jmeter代碼不合理&#xff0c;導致每執行一次請求&#xff0c;會調用一次消耗內存的實例化。導致越壓越慢&#xff0c;請求發不出去。這個時候需要考慮修改代碼了。 截圖中&#xff0c;tps越來越少。 原來初始化的代碼放在 runTest中執行。修…

oracle pl/sql 包

包用于在邏輯上組合過程和函數&#xff0c;它由包規范和包體兩部分組成。1)、我們可以使用create package命令來創建包&#xff0c;如&#xff1a;i、創建一個包sp_packageii、聲明該包有一個過程update_saliii、聲明該包有一個函數annual_income --聲明該包有一個存儲過程和一…