這學(xué)期學(xué)了幾門課程,用到不少matlab的做圖方面的東西,現(xiàn)總結(jié)一下。
1、首先談?wù)勱P(guān)于示波器scope的做圖。記得大三的時候?qū)W控制系統(tǒng)仿真的時候,用simulink中的示波器模塊,做圖的時候首先截屏,然后到畫圖板中進行反色等操作,現(xiàn)在想想,有點小白。有三種方法可以取得比較好的做圖效果。
第一種是直接對示波器圖像進行操作,過程網(wǎng)上有,感覺不好用,沒有使用過。有個命令倒是值得記一下,inspect(句柄),跳出屬性對話框。
第二種方法是用 to workspace模塊,拉出一個時鐘clock模塊,在所需要的輸出端也加一個這樣的模塊,需要注意的是,要把數(shù)據(jù)保存類型從默認的structure改為array。比如將時間輸出的變量設(shè)為t,輸出變量名稱設(shè)為y,plot(t,y)就可以做出圖像,這樣就可以使用圖像控制命令進行相應(yīng)的控制了。xlabel、ylabel、title、legend等命名命令中可以改變字體和字號,比如xlabel('\fontsize{16}')。此外xlim、axis等控制坐標(biāo)軸的范圍。
第三種方法就是直接使用scope中的數(shù)據(jù)。具體方式是雙擊示波器,點操作欄的第二個選項parameters,選擇data history,勾取save data to workspace選項,將變量名稱修改為自己所需的,數(shù)據(jù)類型也改為array,仿真結(jié)束后,就可以得到所需要的數(shù)據(jù)變量,對于常規(guī)的一個信號輸入,設(shè)我們所使用的變量名稱data1,那么第一列數(shù)據(jù)data(:,1)為時間數(shù)據(jù),第二列data(:,2)即為輸入scope的信號數(shù)據(jù)。如果需要多行數(shù)據(jù)輸入,可以使用向量組合工具mux,這樣的話第三列data(:,3)即為輸入scope的第二個信號數(shù)據(jù),以此類推。在這里需要提醒的是,默認的保存數(shù)據(jù)個數(shù)是5000個,對于電機仿真這樣的數(shù)據(jù)量很大的過程來說,需要將個數(shù)限制取消。
當(dāng)然了,也可以用save to file,這樣的話可以將數(shù)據(jù)比較長期的存下來,不會因為clear或者重新啟動matlab而丟失數(shù)據(jù),這對仿真過程比較漫長的程序是有用的。
2、對于圖像的控制命令。set(gcf,'menubar','figure/none')可以控制圖像的菜單欄的有無,這個命令還是比較有用的,因為有時候matlab一些工具箱什么的自己做出來的圖像沒有菜單欄,這樣的話我們就沒有辦法將圖像另存為矢量emf格式或者用edit中的copy figure將圖像弄到畫圖板中。此外(gcf,'numbertitle','off',
'name')語句可以去掉默認的圖像標(biāo)題并加上自己的圖像標(biāo)題。
3、simulink框圖使用。話說我以前一直用UltraSnapPRO這個軟件進行截屏,后來聽說可以用edit中的copy model to clipboard直接將框圖整到畫圖板中。不過我比較了一下,兩者的效果差不多。
4、關(guān)不掉的圖像處理。有時候會出現(xiàn)圖像關(guān)不掉的情況,可以使用h=findall(0,'type','figure')獲得所有圖象對象的句柄,然后delete(h)即可。
恩,暫時就這樣了。
2010年06月28日晚上于njust automation 101 房間
CopyRight:版權(quán)所有若需轉(zhuǎn)載或使用請聯(lián)系作者
Email:dingqian12345@126.com