matlab_simulink_示波器_scope圖片屬性設置_第1頁
matlab_simulink_示波器_scope圖片屬性設置_第2頁
matlab_simulink_示波器_scope圖片屬性設置_第3頁
matlab_simulink_示波器_scope圖片屬性設置_第4頁
matlab_simulink_示波器_scope圖片屬性設置_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、畢業(yè)季節(jié),很多忙碌于畢業(yè)設計的同學都為如何在 Simulink 中 Scope 獲得白色背景而苦惱, 因為論文是白紙黑字, 總不能讓 Simulink 中 Scope 圖也來個黑兮兮的背景和黑色的線條把, 本文方法可以實現(xiàn) Simulink 中 Scope 的各種設置。Matlab Figure圖形保存以及 Simulink中Scope窗口坐標標注(label)的設置收藏1、我們使用 Matlab 繪制出數(shù)據(jù)的各種圖形需要保存的時候, 不少同學是直接用屏幕截圖的 辦法來做的, 但這樣出來的圖并不清晰, 不便于后續(xù)應用和處理, 并且往往不符合發(fā)表論文 的要求,很多論文是要求用 .eps 格式的圖

2、片的。實際上,我們可以有下面兩種更好的處理 方法:( 1)在論文里插入圖片在Matlab的Figure窗口,點擊菜單欄的 Edit,選擇Copy Figure,然后轉至M爾的文檔界面, 把光標放到需要插入圖片的位置,然后Ctrl+C,你就可以得到比較清晰的圖片了。需要注意的是, 這時候的圖片有相當一部分空白區(qū)域, 爾可以用 word 圖片工具欄的 裁剪' 功能把圖片空白區(qū)域消除掉。另外, 如果需要對圖片的大小進行拉伸, 最好不要直接用鼠標拖拉, 這樣容易導致圖中的點 線分布變形,可以右鍵點擊圖片,選擇設置圖片格式' ,在大小'標簽的縮放'欄里, 設置圖片的大小。

3、( 2)直接保存 Figure為了便于后續(xù)處理和應用,建議大家形成一個良好習慣,即把繪制所得的Figure 窗口直接保存為 .fig 文件,以后你就可以多次打開它,對圖像進行修改處理,例如加注標簽(label)等,也可以打開 .fig 文件把所顯示的圖像轉存為其它格式的文件,例如.eps、.jpg 等。2、在做 Simulink 仿真時,使用的 Scope 波形顯示模塊實際上也是一種 Figure 窗口,不過 Matlab把Scope的菜單欄隱藏起來, 只提供了幾個有限的參數(shù)設置。 如果需要對Scope中的 圖加上坐標、更改界面背景色等,沒有菜單欄就基本上無從下手了??梢栽诖蜷_你的 mdl文件

4、之后,在Matlab的命令行輸入以下指令來恢復顯示Scope的Figure菜單欄:>> set(0,'ShowHiddenHandles','on');>> set(gcf,'menubar','figure');這樣 Scope 窗口就如下所示:然后點擊菜單欄的 Edit ,可以選擇 Copy Figure 來保持波形圖,也可以選擇 Figure Properties 來調整 Scope 的各種圖形屬性,包括添加xlabel、 ylabel 、title ,更改背景顏色,調整波形曲線的線型、粗細等等:PS

5、.:除了上面說的那兩行指令外,在網(wǎng)上還找到一段相似的程序,不過我使用時Matlab提示第 4 行代碼出現(xiàn) Error ,不知是何原因,也貼在這里大家分析下吧,呵呵。shh = get(0,'ShowHiddenHandles'); set(0,'ShowHiddenHandles','On') set(gcf,'menubar','figure') set(gcf,'CloseRequestFcn','closereq') set(gcf,'DefaultLineClippi

6、ng','Off') set(0,'ShowHiddenHandles',shh)方法一:使用 Matlab 命令,直接保存為圖片set(0,'ShowHiddenHandles','On') set(gca,'color','w') % 設置背景顏色 saveas(gcf,'yourpic.jpg') 方法二:使顯示 figure 的菜單 set(0,'ShowHiddenHandles','On') set(gcf,'menubar

7、','figure')用 simout 把波形輸出,存儲格式為 array 即;同時把時間一塊放 simout 輸出!用 plot (t,simout )即可把圖畫出來!簡單一點就是把采集的數(shù)據(jù)保存到To file 文件里后,直接load 變量名,用 plot 命令就可以得到圖,再用附件自帶的畫圖工具就可以剪輯下來了要使用 to workspaces 模塊,將信號 y 以及時間 t 的信號送到工作空間(如圖所示), t, 和 y 是在 to workspaces 模塊自定義的變量名,注意在 save format 選 array! 然后用 plot(t,y) 繪圖,繪出

8、圖后,使用 edit 菜單里的 copy figure 拷貝圖形,再到 word 里粘貼 即可,這樣拷貝的圖形效果較好。你可以在 edit 菜單里的 copy options 設置 clipboard format 為 metafile, 這樣拷的圖形不會有黑邊框!t. j nmili l: Jrrf *外】審 觀“$<<*414-III M l-|jlF*&l匸cs E粵4空 *" >:. 0UJ囤擊 時筲卄®-口菲I囂酉問S4u$nE«fc-1 11-SccfpeFa WiMktpaceoCkxhTa w屮t. j nmili l:

9、Jrrf *t. j nmili l: Jrrf *看到網(wǎng)上有的同行問怎么改示波器的背景,把示波器波形復制到Word中,我有兩種方法,第一種是我一個同學告訴我的,通過命令對示波器進行操作。具體如下shh = get(0,'ShowHidde nHan dies'); set(0,'ShowHidde nHan dles','0 n') set(gcf,'me nubar','figure') set(gcf,'CloseRequestFc n','closereq') set(gcf

10、,'DefaultLi neClippi ng','Off) set(0,'ShowHidde nHan dles',shh)如何將 matlab 中的 scope 圖形保存下來 ,或者直接保存到 word 中呢 ?其實至少有三種方 法, 下面就詳細說明一下這三種方法.1、軟件截圖,這個就不多說了2、使用 Matlab 命令,直接保存為圖片 ,在這個方法中要注意打開隱藏的句柄,運行之后就在Matlab 的當前路徑下得到一個白色背景的 jpg 文件 .set(0,'ShowHiddenHandles','On')set(gc

11、a,'color','w')saveas(gcf,'mypic.jpg')3、使用 figure 的菜單來保存圖片set(0,'ShowHiddenHandles','On')set(gcf,'menubar','figure') 此時那個scope是不是多了一個菜單欄了,現(xiàn)在使用editf copy figue就可以把圖片復制到剪貼板中了 .下面說一下 Simulink 利用 Scope 輸出及繪制仿真波形技巧在用 Simulink 做仿真時,我們經(jīng)常會用到示波器 Scope 來觀

12、察波形,它可以對波形進 行局部放大、按橫、縱座標放大,非常方便,但是如果我們要保存波形時,就最好別直接拷 貝Scope波形了,因為它的背景是黑的,而且不能進行線形修改和標注,不適合作為文檔用圖。一般的做法是將數(shù)據(jù)輸出到工作空間,然后用畫圖指令Plot 畫圖。輸出到工作空間的方法一般有這么幾種:1添加 To Workspace 模塊;2添加 out 模塊;3直接用 Scope 輸出。在此我們選用方法 3來說明用法。當然不是說放一個Scope就能數(shù)出數(shù)據(jù)的,需要對 Scope進行設置。設置界面如下:把 Limit data points to last 勾掉,因為很有可能你的數(shù)據(jù)會超過 5000

13、個。勾選 Save data to Workspace ,變量類型可以選結構體,結構體帶時間,以及向量 . 下面以一個例子分別介紹三種變量類型的畫圖方法。1輸出類型為向量形式。從圖上看到,輸出了兩維時間序列,而實際輸出到工作空間的變 量 ScopeData 為三維序列,其中第一列為時間,這正好為我們畫圖提供了方便。我們可以采 用畫圖命令如下:figure;plot(ScopeData(:,1),ScopeData(:,2),'LineWidth',1.5);hold on;plot(ScopeData(:,1),ScopeData(:,3),'r:','

14、LineWidth',1.5);legend('正弦波','鋸齒波);hold off;當然你還可以采用其他繪圖方式,如采用Subplot方式。2輸出類型為 Structure with Time 。即結構體帶時間。我們可以看一下這個結構體包含哪些 東西。在 Command Window 里直接輸入變量名。ScopeData =time: 51x1 doublesignals: 1x1 structblockName: 'untitled/Scope'可見, 該結構體包含了時間序列, 信號結構體, 以及我的框圖名。 實際上我們的輸出信 號都包含在

15、signals這個結構體里了,我們接著可以再看看signals結構體的組成部分。我們輸入 ScopeData.signals。ans =values: 51x2 doubledime nsions: 2label:''title:''plotStyle: 0 0可以看到,values是一個51x2的double型矩陣,它正好是我們輸出的數(shù)據(jù)。我們采用 這樣的畫圖命令即可完成畫圖:figure;plot(ScopeData.time,ScopeData.sig nals.values(:,1),'L in eWidth',1.5);hold on;

16、plot(ScopeData.time,ScopeData.sig nals.values(:,2),'r:','L in eWidth',1.5);legend('正弦波','鋸齒波');hold off;3. 對于Structure類型,正好是 Structure with time的精簡版,因為它的時間為空,因此你必須用其他方式獲得時間。simuli nk scope 圖形輸出這兩天碰到一個問題是關于用MATLAB命令把示波器圖形畫出,經(jīng)過努力總算得到解決??吹骄W(wǎng)上有的同行問怎么改示波器的背景,把示波器波形復制到Word中,

17、我有兩種方法,第一種是我一個同學告訴我的,通過命令對示波器進行操作。具體如下shh = get(0,'ShowHidde nHan dles');set(0,'ShowHidde nHan dles','O n')set(gcf,'me nubar','figure') set(gcf,'CloseRequestFc n','closereq') set(gcf,'DefaultLi neClippi ng','Off) set(0,'ShowHidd

18、e nHan dles',shh)輸入以上命令可以直接對示波器進行修改,包括背景和曲線顏色第二種方法我以前總結過,現(xiàn)在詳細說明一下用MATLAB 命令將 simulink示波器的圖形畫出第一步,將你的示波器的輸出曲線以矩陣形式映射到MATLAB的工作空間內(nèi)。如圖1所示,雙擊示波器后選擇parameters目錄下的 Data history,將Save data to workspace勾上,F(xiàn)ormat選擇Array,Variable name即你輸入至工作空間的矩陣名稱,這里我取名aa。在這之后運行一次仿真,那么你就可以在 MATLAB的工作空間里看到你示波器輸出曲線的矩陣aa。如圖

19、2所示。DI5x3 douiil><111 si ruct > clOCOxi daub Iff >vtfuei<1G34x3 dout:."<:double doutlo struct double程OH gbr*rtsp» I>i:ra? Iditvr 一 g*xT. Stoc*Js1 234 1Tlo02g IE密M2】3訂吧342 3 珈心23L JL44&-OJ/ 179J0e-Oli147 022&-013弓2 CC4P-005 1 總1 9745e-O1161 .inr crn <4ri4 ?瘢7

20、000050487 1 0940081 1887006爲0002525 27363e-007 2.5(756*OT90Dl2B2G£a45ee-aMi710Q WC701 9 362300500001015311 10 1n111D 11273 0)0546240 ODGS-Wz13 112毎 OJMOM5240 0090471402 00 001647第二步,用plot函數(shù)畫出曲線雙擊曲線矩陣aa,將可以看到詳細情況,我這里的aa矩陣是一個1034行,3列的矩陣,觀察這個矩陣即可以發(fā)現(xiàn), 這個矩陣的第一列是仿真時間,而由于我仿真時示波器內(nèi)輸出的是兩條曲線,所以第二列和第三列即分別代

21、表了這2條曲線。同時大家要注意,在simulink中我們有時往往在示波器中混合輸出曲線,那么就要在示波器前加一個MUX混合模塊,因此示波器內(nèi)曲線映射到的工作空間的矩陣是和你的MUX的輸入端數(shù)有關,如果你設置了3個MUX輸入端,而實際上你只使用了2個,那么曲線矩陣仍然會有4列,并且其中一列是零,而不是3列。理解曲線矩陣的原理之后,我們就可以用plot函數(shù)畫出示波器中顯示的圖形了。?(:,1)表示取aa的第一列,仿真時間? (:,2)表示取aa的第二列,示波器的輸入一? (:,3)表示取aa的第三列,示波器的輸入二%-r表示曲線2顯示的形式和顏色,這里是(red)set(curve(1),'

22、;li newidth',3)%設置曲線1的粗細set(curve (2) ,'li newidth',3)%設置曲線2的粗細lege nd('Fuzzy','PID')%曲線名稱標注xlabel('仿真時間(s)')%X坐標軸名稱標注ylabel('幅值')%Y軸坐標軸標注title('Fuzzy Con trol VS PID')%所畫圖的名稱grid on%添加網(wǎng)格運行上述命令后即可以看到用MATLAB命令畫出的圖形了,你可以在圖形出來之后繼續(xù)進行編輯。將不同示波器中的曲線畫在一張圖上如何將不同示波器中的曲線畫在一張圖上,很簡單,如下命令解釋curve=plot(f1(:,1),f1(:,2),FP(:,1),FP(:,2),'r',FP(:,1),FP(:,3),'k')?為即示波器1輸出的曲線矩陣fl,F(xiàn)P為示波器2輸出的曲線矩陣FP同一示波器內(nèi)的仿真時間和曲線要相一致,所以f1(:,1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論