程序設計訓練II-Matlab語言及其應用(4)課件_第1頁
程序設計訓練II-Matlab語言及其應用(4)課件_第2頁
程序設計訓練II-Matlab語言及其應用(4)課件_第3頁
程序設計訓練II-Matlab語言及其應用(4)課件_第4頁
程序設計訓練II-Matlab語言及其應用(4)課件_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

主要內容繪制二維圖形句柄圖形技術各種二維圖形繪制三維圖形三維圖形的視角

第三部分MATLAB的計算數據可視化基本繪圖語句繪制一條二維曲線繪制多條二維曲線繪制雙縱軸的二維曲線繪圖選項線型選項線色選項標記符號選項圖形標識和坐標控制交互式圖形指令——對鼠標應用的支持

繪制二維圖形繪制一條二維曲線plot(x,y):產生由長度相等的向量x和y表示的,直角線性坐標圖

例:t=0:0.1:2*pi;y=sin(t);plot(t,y)繪制二條二維曲線例:y=[sin(t);cos(t)];plot(t,y)繪制雙縱軸二維曲線例:y=[0.01*sin(t);cos(t)];plot(t,y)

因為縱軸尺度不匹配,0.01*sin(t)的變化無法體現(xiàn)雙縱軸繪圖命令:plotyy(t1,y1,t2,y2)例:

plotyy(t,0.01*sin(t),t,cos(t));

繪制二維圖形——基本繪圖語句曲線線型選項

繪制二維圖形——繪圖選項(1)曲線顏色選項

繪制二維圖形——繪圖選項(2)曲線標記選項

繪制二維圖形——繪圖選項(3)命令格式 axis([xmin,xmax,ymin,ymax,zmin,zmax]) axis([xmin,xmax,ymin,ymax]) axisequal查helpaxis例: axis([-1,7,-2.52.5])

坐標軸的取值范圍ginput函數:在二維圖形坐標系下取鼠標點的坐標格式:[x,y,buttom]=ginput(n)返回n個點的x和y坐標值給向量x和y返回n個點的鼠標點擊是左鍵(1)、中鍵(2)和右鍵(3)text函數:用鼠標選取1個點放置一組字符串格式:gtext(字符串)

交互式圖形指令(1)axis([0,5,0,5]);holdon;boxon;

x=[];y=[];

while(1)

[x1,y1,button]=ginput(1);

if(button~=1)break;end

plot(x1,y1,'o');x=[x,x1];y=[y,y1];

end

line(x,y);holdoff

gtext('用左鍵取點,然后畫折線');

交互式圖形指令(2)——例題

句柄圖形體系各種繪圖要素成為圖形句柄,由其句柄值區(qū)分屏幕為唯一的根句柄,句柄值為零圖形窗口(Figure)為屏幕的子句柄,其值為正整數圖形窗口以下的子句柄值為浮點數每個畫圖命令都會返回一個數值,即該圖形對象的句柄值畫圖命令返回值 x=[123456]; y=[836219]; h=line(x,y)%逐點連折線,h儲存折線的句柄值獲得當前對象的句柄值函數gca函數:獲得當前坐標軸的句柄值gcf函數:獲得當前圖形窗口的句柄值gco函數:獲得當前圖形對象的句柄值get命令:get(h,’Parent’):返回h句柄的父句柄get(h,’Chindren’):返回h句柄的子句柄

句柄值的獲取命令格式:subplot(m,n,k)

將圖形窗口分為m行n列個小圖形區(qū)域,k為子圖區(qū)域編號(左上為1,向右向下順序編號)例題 t=(0:10:360)*pi/180;y=sin(t);

subplot(2,1,1),plot(t,y)%分窗口為2行1列,在窗口1畫圖

subplot(2,2,3),stem(t,y)%將第2行的窗口分為2列,在窗

%口3畫圖

subplot(2,2,4),polar(t,y)%在窗口4畫圖

分割圖形窗口

分割圖形窗口——結果當前窗口為窗口4繼續(xù)執(zhí)行命令

y2=cos(t);y3=y.*y2;

plot(t,y,'--or',t,y2,'-.h',t,y3,'–xb')

xlabel('時間')

ylabel('幅值')

axis([-1,8,-1.2,1.2]);

分割圖形窗口——例題(續(xù))

分割圖形窗口——新結果當前窗口仍為窗口4繼續(xù)執(zhí)行命令

subplot(4,4,11),fill(t,y,'r')

subplot(4,4,12),plot(t,y)

subplot(4,4,15),plot(t,y2)

subplot(4,4,16),plot(t,y3)

分割圖形窗口——例題(再續(xù))

分割圖形窗口——更新結果當前窗口仍為窗口4繼續(xù)執(zhí)行命令

subplot(3,1,2),plot(t,y)

分割圖形窗口——例題(再續(xù))(211)、(223)、(4411)和(4412)子圖消失軸函數命令:

h=axes('position',[left,bottom,width,height])

定位一個坐標軸,將其句柄賦值h圖形對象屬性查詢和設定命令的格式:查詢:

屬性值=get(句柄,屬性)設置:set(句柄,屬性1,屬性值1,屬性2,屬性值2,...)例:

t=linspace(0,2*pi,60);y1=sin(t);y2=cos(t);y3=y1.*y2;

h=figure(1);stairs(t,y1)

h1=axes('pos',[0.20.20.60.4]);plot(t,y1)

h2=axes('pos',[0.10.10.80.1]);stem(t,y1)

h3=axes('pos',[0.50.50.40.4]);fill(t,y1,'g')

h4=axes('pos',[0.10.60.30.3]);plot(t,y1,'--‘,t,y2,':',t,y3,'o')

軸函數、圖形對象屬性的查詢和設定

不同坐標軸下繪圖的結果

坐標軸的屬性

坐標軸的屬性——例題set(h4,'pos',[0.10.10.40.4])

set(h,'pos',[00560400])

set(h3,'box','off')

set(h3,'xgrid','on')

set(h3,'gridlinestyle','-')

set(h3,'xdir','reverse')

set(h3,'xdir','normal')

ht3=get(h3,'title')set(ht3,'string','澳洲人的回旋鏢')

set(ht3,'rotation',-10)

set(ht3,'fontsize',15)

set(ht3,'color',[24429249]/255)

坐標軸的屬性——例題結果

坐標軸的屬性——例題set(h4,'pos',[0.10.10.40.4])

set(h,'pos',[00560400])

set(h3,'box','off')

set(h3,'xgrid','on')

set(h3,'gridlinestyle','-')

set(h3,'xdir','reverse')

set(h3,'xdir','normal')

ht3=get(h3,'title')set(ht3,'string','澳洲人的回旋鏢')

set(ht3,'rotation',-10)

set(ht3,'fontsize',15)

set(ht3,'color',[24429249]/255)

曲線的屬性

曲線的屬性——例題t=0:0.4:2*pi;y=sin(t);hc=plot(t,y,‘-p’);

axis([0,2*pi,-2.2,2.2]),yy=get(hc,'YData');

set(hc,'Markersize',20,'linestyle','-.','color',…

[6934120]/255,'Ydata',yy*2)

字符串的屬性

字符串的屬性——例題ht=gtext('Matlab語言');

set(ht,'string','數據可視化','fontsize',30,…

'rotation',10)

set(ht,'color','r','fontweight','bold',…

'fontname','隸書')

多種二維圖形的繪制函數Z是高度值l,u誤差的下、上界c是填色的色彩卡

x=-2:0.1:2;y=sin(x);

subplot(221),stairs(x,y),title(‘(a)stairs')

subplot(222),compass(cos(x),y) title('(b)compass')

y1=randn(1,10000);

subplot(223),hist(y,20),title('(c)hist')

subplot(224),

[u,v]=meshgrid(-2:0.2:2,-1:0.15:1); z=u.*exp(-u.^2-v.^2);[px,py]=gradient(z,0.2,0.15);

contour(u,v,z),holdon

quiver(u,v,px,py),holdoff,axisimage

title('(d)quiver')

多種二維圖形的繪制函數——例

多種二維圖形的繪制函數——例的結果命令格式

errorbar(x,y,l,u,選項)例

x=-2:0.2:2;

y=sin(x);

L=rand(1,length(x))/10;

U=rand(1,length(x))/10;

errorbar(x,y,L,U,':')

繪制誤差界限圖

繪制誤差界限圖——結果命令格式羅盤圖:

compass(z選項)或compass(x,y選項)羽毛圖:

feather(z選項)或feather(x,y選項)例

z=[2+3i,2+2i,1-2i,4i,3];

x=[2,2,1,0,3];

y=[3,2,-2,4,0]

subplot(121),compass(z,'r')

subplot(122),feather(x,y,'b')

復數繪圖

復數繪圖——結果命令格式:bar(x,y,選項):畫條形圖[xx,yy]=bar(x,y,選項):輸出條形圖向量值例:

繪制條形圖x=-pi:0.15:pi;y=sin(x);

subplot(211),H=bar(x,y);

xx=get(H,'xdata');

yy=get(H,'ydata');

subplot(212),plot(xx,yy);

繪制條形圖——結果命令格式:hist(y,n)或[xx,yy]=hist(y,n)例:

y=randn(1,20000);xx=-4:0.4:4;

zz=hist(y,xx);zz=zz/20000/0.4;

x1=-4:0.1:4;y1=1/sqrt(2*pi)*exp(-x1.^2/2);

bar(xx,zz);

holdon;

plot(x1,y1,'-r');holdoff

繪制直方圖

繪制直方圖——結果命令格式:polar(theta,rho,選項)例:theta=0:0.1:8*pi; polar(theta,cos(4*theta)+1/4);

繪制極坐標圖命令格式:x軸為對數坐標軸,y軸為線性坐標軸 h=semilogx(x1,y1,選項1,x2,y2,選項2,…)y軸為對數坐標軸,x軸為線性坐標軸 h=semilogy(x1,y1,選項1,x2,y2,選項2,…)兩個周都是極坐標

h=loglog(x1,y1,選項1,x2,y2,選項2,…)例:

theta=0:0.1:6*pi;r=cos(theta/3)+1/9;

subplot(221),polar(theta,r),

subplot(222),pl

溫馨提示

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

最新文檔

評論

0/150

提交評論