日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Matlab/Simulink 模型介绍

發(fā)布時間:2023/12/31 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab/Simulink 模型介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

近期由于剛換工作,所以把上家公司整理的一些再次上傳到網(wǎng)上,防止后續(xù)丟失。第一篇先簡單介紹下MATLAB/Simulink模型介紹及仿真吧。

先簡單介紹下什么是matlab,Matlab功能強(qiáng)大,用于數(shù)據(jù)分析、無線通信、深度學(xué)習(xí)、圖像處理與計算機(jī)視覺、信號處理、量化金融與風(fēng)險管理、機(jī)器人,控制系統(tǒng)等領(lǐng)域。由于個人主要使用matlab的simulink功能,現(xiàn)在主要對模型搭建進(jìn)行介紹。

這里分兩部分來寫,我們先從模型的概況來理解,后面再細(xì)講怎么去搭建。

模型概況(狀態(tài)機(jī)):下圖是模型最外層的一個狀態(tài)機(jī)圖,左邊是輸入端口,右邊是輸出端口。這個圖是可以在matlab的圖形庫拖出來的,后續(xù)會講。搭建模型第一步是要把這個狀態(tài)機(jī)從庫里圖拖出來。

模型概況(狀態(tài)交換):狀態(tài)機(jī)圖雙擊進(jìn)去可以開始拖一些箭頭和函數(shù)框開始搭建函數(shù)模型。

雙擊狀態(tài)機(jī)進(jìn)入下圖:下圖有兩個大狀態(tài)DISABLEENABLEENABLE里又有兩子狀態(tài)NORMALONGOING。

?模型概況(函數(shù)實體)

雙擊雙兔中的函數(shù)進(jìn)入下圖(箭頭處可以填寫判斷邏輯)。這里是邏輯實現(xiàn)地方,后續(xù)生成代碼都跟這里會一一對應(yīng)。

模型搭建:上面大概講了一個模型的結(jié)構(gòu),下面具體去講怎么搭建模型。

?

?上圖是把狀態(tài)機(jī)拖出來后,再雙擊狀態(tài)機(jī)后進(jìn)去的一張圖。上圖左側(cè)已經(jīng)列出常用的搭建模型的按鍵,以下對我們常用的按鍵解釋下

狀態(tài):創(chuàng)建狀態(tài)機(jī)的狀態(tài)

節(jié)點(diǎn):系統(tǒng)不能停在節(jié)點(diǎn)上,但可以停在狀態(tài)中

轉(zhuǎn):一般和節(jié)點(diǎn)配合使用

函數(shù):由于我們是simlink建模,所以我們用Simlink Fcn

歷史狀態(tài):對于某些問題而言,我們返回一個狀態(tài)的時候不能總返回默認(rèn)狀態(tài),而是要返回離開前的最后一個狀態(tài),這就是歷史狀態(tài)的用處。

以上按鍵按需拖動到需要處即可。

模型搭建之函數(shù)搭建:

常拖動函數(shù)按鍵后如上圖,函數(shù)名?可以點(diǎn)擊命名。這里命名為TestFunction。

一般拖出來的函數(shù)實體在這個框里寫不下,然后我們可以創(chuàng)建子模塊來寫。如下圖。創(chuàng)建后雙擊函數(shù)塊即可進(jìn)入子模塊。我們主要函數(shù)一般都在子模塊完成。

?

?打開Matlab并添加狀態(tài)機(jī):最外層的狀態(tài)機(jī)怎么拖出來搭建?

請看下圖:?下圖是打開matlab軟件會出現(xiàn)的,在命令窗口輸入state flow就會新建狀態(tài)機(jī)。

?Note:有時候狀態(tài)機(jī)的輸入或輸出端口太多,狀態(tài)機(jī)可能不會在可視范圍。這時候可以下滑滾輪或者點(diǎn)擊fit to view按鈕讓狀態(tài)機(jī)劇中顯示

添加輸入端口:點(diǎn)擊Library Browser按鈕,在sources中選中In1輸入端口。找到In1并拖到狀態(tài)機(jī)圖上即可。

?同理添加輸出端口:輸出端口在Sinks

添加輸入及輸出數(shù)據(jù):按照Model Explorer->Add Data序添加數(shù)據(jù)。添加完數(shù)據(jù)需要在Scope列選擇屬性是inputoutputLocal還是其他。DataType列選擇類型。

Note1:需要先選中狀態(tài)機(jī)標(biāo)志才能添加數(shù)據(jù)。如本模型狀態(tài)機(jī)名為IPC_CompassDisp,所以要先選中該狀態(tài)機(jī)。

Note2:這里的Port列一般在添加端口模型時自動排列。但是有時候可能連續(xù)添加很多端口,這邊Port排序排好了,但是又把中間某一個或者某幾個端口刪除了,這時候Port會再自動排序。則會造成模型端口與這里的Port不匹配。這樣會對后期的UT測試造成錯誤。所以這里Port號需要檢查與前面模型號保持一致。

?端口顏色設(shè)置:有時候,我們想把標(biāo)定輸入變量和其他輸入變量分開,除了命名區(qū)分外,也可以如圖在端口出右擊,調(diào)出Format/Background Color選不同顏色

上圖完成了模型的搭建,下面需要配合腳本生成報告。

?報告查看:運(yùn)行相應(yīng)的腳本生成.c.h文件及報告

點(diǎn)擊上圖的.c.h文件可以查看生成的代碼報告

?

生成代碼可讀性很差,所以需要代碼和模型結(jié)合一起看。可以點(diǎn)擊報告中的Transition找到模塊對應(yīng)的位置?。

?以上寫的比較籠統(tǒng),適合有一定基礎(chǔ)的朋友觀看。有疑問可以一起討論,謝謝!

?

?

總結(jié)

以上是生活随笔為你收集整理的Matlab/Simulink 模型介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。