參考書籍
《matlab 程序設計與綜合應用》張德豐等著 感謝張老師的書籍,讓我領略到matlab的便捷
《MATLAB技術大全》葛超等編著 感謝葛老師的書籍,讓我領略到matlab的高效git
圖形對象的類型(typeoffigureobject)以下。
(1)根屏幕(rootscreen):在層次的最頂層是根對象,至關於計算機屏幕,根對象只有一個,根對象不能被創建,但能夠設置根屬性以控制圖形的顯示。
(2)圖形窗口(figurewindow):獨立於根屏幕的顯示圖形窗口,是根對象的子對象,而全部其餘圖形對象都是圖形窗口的子孫。全部的繪圖函數(如plot和surf等)都會自動創建一個圖形窗口。
(3)軸(axis):軸對象在圖形窗口中定義一個區域,並肯定該區域中子對象的方向,軸是圖形窗口的子對象,又是圖像、燈光、線、塊、表面和文字的父對象。
(4)控件(uicontrol):用於接口控制的按鈕、列表框、滑條等,能夠聯合使用構成控制面板和對話框。
(5)菜單(uimenu):下拉菜單,當用戶選擇一個獨立的菜單項時執行回調程序。github
x=[-pi:pi/20:pi]; y1=sin(x); y2=cos(x); figure(1); % 打開圖形窗口 subplot(2,2,1); plot(x,y1); grid on; %開啓網格線 title('Sin(x)'); % 加上標題 subplot(2,2,2); plot(x,y2,'r:'); grid on; title('Cos(x)'); subplot(2,2,3); plot(x,y1,'-',x,y2,'--'); % 分別使用實線和虛線同時繪製出sin函數和cos函數 grid on; title('Sin(x) and Cos(x)'); subplot(2,2,4); plot(x,y1,'-',x,y1,'ko'); grid on; title('Sin(x)');
t=0:.01:2*pi; figure(1) polar(t,sin(2*t).*cos(2*t), '--r')
在MATLAB中最高層次的圖形對象是根對象,咱們能夠經過它對整個計算機屏幕進行控制。當MATLAB啓動時,根對象會被自動建立,它一直存在到MATLAB關閉爲止。與根對象相關的屬性是應用於所用MATLAB窗口的默認屬性。在根對象下,有多個圖像窗口,或只有圖像。每個圖像在用於顯示圖像數據的計算機屏幕上都有一個獨立的窗口,每個圖像都有它獨立的屬性。與圖像相關的屬性有顏色、圖片底色、紙張大小、紙張排列方向和指針類型等。編程
axis on:顯現座標軸
二維圖形座標軸範圍在默認狀態下是根據數據的大小自動設置的,如欲改變,可利用axis(xmin xmax ymin ymax)函數來定義框架
x=0:0.01:pi/2; figure(1) plot(x,tan(x),'-yo') % ymax=tan(1.57) ,而其餘數據都很小,結果將使圖形難於進行觀察和判斷 figure(2) plot(x,tan(x),'-bo') axis([0, pi/2,0,5]) % 對座標軸的範圍進行控制就可獲得滿意的繪圖結果
uicontrol是user interface control的縮寫(用戶界面控制)。在各計算機平臺上,窗口系統都採用控制框和菜單,讓用戶進行某些操做,或設置選項或屬性。控制框是圖形對象,如圖標、文本框和滾動條,它和菜單一塊兒使用以創建用戶圖形界面,稱之爲窗口系統和計算機窗口管理器MATLAB控制框又稱uicontrol,與窗口管理器所用的函數十分類似。它們是圖形對象,能夠放置在MATLAB的圖形窗中的任何位置並用鼠標激活。MATLAB的uicontrol包括按鈕、滑標、文本框及彈出式菜單。uicontrol由函數uicontrol生成ide
和建立菜單對象相似,一樣能夠經過基於函數命令行的編程方式和基於GUI的方式。函數
h=uicontrol(hfig,...):在特定的圖形窗口建立一個用戶界面控制對象。其中,h爲待制做的用戶界面控制對象的句柄hfig爲其父對象句柄,當hfig默認時,系統將在當前圖形界面上添加用戶界面控制對象。工具
打開GUI設計工具集窗口,窗口的左側即是各類類型的控制對象按鈕欄。單擊要添加的控制對象按鈕,在圖形窗口中拖動鼠標畫出所須要的位置和大小便可。學習
觸發按鈕(toggle):當該組件被單擊且顯示出它們的狀態(on或者off)時,控制是否執行回調函數ui
gco 返回當前鼠標單擊的句柄值,該對象能夠是除root 對象外的任意圖形對象,而且Matlab 會把當前圖形對象的句柄值存放在Figure 的CurrentObject屬性中。命令行
MATLAB用戶菜單對象是用戶圖形窗口的子對象,因此菜單設計總在某一個圖形窗口中進行。MATLAB的圖形窗口有本身的菜單欄。爲了創建用戶本身的菜單系統,能夠先將圖形窗口的,MenuBar屬性設置爲none,以取消圖形窗口的菜單,而後創建用戶本身的菜單。
用戶菜單包括一級菜單(菜單條)和二級菜單,有時還能夠繼續創建子菜單,每一級菜單又包括若干菜單項。要創建用戶菜單可用uimenu函數,因其調用方法不一樣,該函數能夠用於創建一級菜單項和子菜單項。uimenu函數調用格式以下。
handle=uicontextmenu(parent,'PropertyName',PropertyValue...):用於爲快捷菜單設置屬性名及屬性值。
clf % 用於清除圖形的命令 h_menu=uimenu('label','Option'); %產生頂層菜單項Option h_sub1=uimenu(h_menu,'label','Axis on');%產生Axis on菜單項,由缺省設置而使能 h_sub2=uimenu(h_menu,'label','Axis off',... 'enable','off'); %產生Axis off菜單項,但失能 h_sub3=uimenu(h_menu,'label','Grid on',... 'separator','on','visible','on'); %產生與上分隔的Grid on菜單項,設置可見性,若是可見性是off則不可見 h_sub4=uimenu(h_menu,'label','Grid off',... 'visible','on'); %產生Grid off菜單項,設置可見性,若是可見性是off則不可見
clf % 用於清除圖形的命令 h_menu=uimenu('label','Option'); %產生頂層菜單項Option h_sub1=uimenu(h_menu,'label','Axis on');%產生Axis on菜單項,由缺省設置而使能 h_sub2=uimenu(h_menu,'label','Axis off',... 'enable','off'); %產生Axis off菜單項,但失能 h_sub3=uimenu(h_menu,'label','Grid on',... 'separator','on','visible','on'); %產生與上分隔的Grid on菜單項,設置可見性,若是可見性是off則不可見 h_sub4=uimenu(h_menu,'label','Grid off',... 'visible','on'); %產生Grid off菜單項,設置可見性,若是可見性是off則不可見 set(h_sub1,'callback',[... %選中Axis on菜單項後,產生回調操做 'axis on,',... %畫座標 'set(h_sub1,''enable'',''off''),',...%Axis on菜單項失能 'set(h_sub2,''enable'',''on''),',... %Axis off菜單項使能 'set(h_sub3,''visible'',''on''),',...%Grid on菜單項可見 'set(h_sub4,''visible'',''on''),']); %Grid off菜單項可見 set(h_sub2,'callback',[... %選中Axis off菜單項後,產生回調操做 'axis off,',... %使座標消失 'set(h_sub1,''enable'',''on''),',... %Axis on菜單項使能 'set(h_sub2,''enable'',''off''),',... %Axis off菜單項失能 'set(h_sub3,''visible'',''off''),',... %Grid on菜單項不可見 'set(h_sub4,''visible'',''off''),']); %Grid off菜單項不可見 set(h_sub3,'callback',[... %選中Grid on菜單項後,產生回調 'grid on,',... %畫座標分格線 'set(h_sub3,''enable'',''off''),',... %Grid on菜單項失能 'set(h_sub4,''enable'',''on''),']); %Grid off菜單項使能 set(h_sub4,'callback',[... %選中Grid off菜單項,產生回調 'grid off,',... %消除座標分格線 'set(h_sub3,''enable'',''on''),',... %Grid on菜單項使能 'set(h_sub4,''enable'',''off''),']); %Grid off菜單項失能