Matlab/Simulink 模型介绍
近期由于剛換工作,所以把上家公司整理的一些再次上傳到網(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)DISABLE和ENABLE,ENABLE里又有兩子狀態(tài)NORMAL和ONGOING。
?模型概況(函數(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列選擇屬性是input,output,Local還是其他。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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用wget下载整个网站
- 下一篇: 中冠百年|到了30岁应该如何增加收入?