MATLAB第七章圖形處理課件_第1頁
MATLAB第七章圖形處理課件_第2頁
MATLAB第七章圖形處理課件_第3頁
MATLAB第七章圖形處理課件_第4頁
MATLAB第七章圖形處理課件_第5頁
已閱讀5頁,還剩251頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

MATLAB第七章圖形處理MATLAB第七章圖形處理MATLAB第七章圖形處理第七章MATLAB圖形處理請一位同學在黑板上畫一幅圖形。請其他同學猜測他畫的是什么圖形?MATLAB第七章圖形處理MATLAB第七章圖形處理MATL1第七章MATLAB圖形處理請一位同學在黑板上畫一幅圖形。請其他同學猜測他畫的是什么圖形?第七章MATLAB圖形處理請一位同學在黑板上畫一幅圖形。2第七章MATLAB圖形處理一、圖形制作概述MATLAB中進行圖形處理時,通常采用下面的步驟:

準備繪圖數據;選定繪圖窗口與繪圖區域;調入繪圖函數命令;設置圖形格式;輸出所繪制的圖形。第七章MATLAB圖形處理一、圖形制作概述準備繪圖數3第七章MATLAB圖形處理一、圖形制作概述例如:在[0,2]內作出正弦函數的圖形。

>>x=0:0.01:2>>y=sin(x);>>plot(x,y)第七章MATLAB圖形處理一、圖形制作概述4第七章MATLAB圖形處理一、圖形制作概述例5-1在0≤x≤2區間內,繪制曲線y=2e-0.5xcos(4πx)程序如下:>>x=0:pi/100:2*pi;>>y=2*exp(-0.5*x).*cos(4*pi*x);>>plot(x,y)第七章MATLAB圖形處理一、圖形制作概述5第七章MATLAB圖形處理小結:二維繪圖最簡步驟:1確定x向量;2確定y=f(x);3用plot(x,y)繪圖。第七章MATLAB圖形處理小結:6第七章MATLAB圖形處理二、圖形窗口1圖形窗口是什么?

圖形窗口是個獨立的窗口,系統自動將圖形繪制在圖形窗口上。第七章MATLAB圖形處理二、圖形窗口圖形窗口是個獨立的7第七章MATLAB圖形處理二、圖形窗口2圖形窗口的創建與控制

*單個圖形窗口的創建*多重子圖窗口的創建

第七章MATLAB圖形處理二、圖形窗口8第七章MATLAB圖形處理二、圖形窗口2圖形窗口的創建與控制(1)單個圖形窗口的創建與控制函數命令:figure調用格式:h=figureh=figure(n)

該命令創建單個圖形窗口。

第七章MATLAB圖形處理二、圖形窗口9第七章MATLAB圖形處理二、圖形窗口2圖形窗口的創建與控制(1)單個圖形窗口的創建與控制注意事項:*若沒有打開圖形窗口時執行繪圖命令,將自動創建一個圖形窗口;*若執行繪圖命令前已經打開幾個圖形窗口,則繪圖命令把圖形輸出到當前窗口中、并把這個窗口中原來的圖形覆蓋;*n為圖形窗口的編號。第七章MATLAB圖形處理二、圖形窗口10第七章MATLAB圖形處理一、圖形制作概述2圖形窗口的創建與控制(1)單個圖形窗口的創建與控制>>h1=figure(1)>>h2=figure(2)>>h3=figure(3)>>x=0:0.01:2;y=sin(x);plot(x,y)>>x=0:0.01:2;y=cos(x);plot(x,y)第七章MATLAB圖形處理一、圖形制作概述11第七章MATLAB圖形處理一、圖形制作概述2圖形窗口的創建與控制(1)單個圖形窗口的創建與控制相關命令:get(n):獲得第n個圖形窗口的有關屬性。set(n):設置第n個圖形窗口的有關屬性。

第七章MATLAB圖形處理一、圖形制作概述12第七章MATLAB圖形處理一、圖形制作概述2圖形窗口的創建與控制(1)單個圖形窗口的創建與控制例題:作出函數y=sin(x)在區間[0,10]上的圖形。>>x=0:0.01:10;>>x=0:0.01:10;>>y=sin(x);>>h=figure(1);>>plot(x,y);>>set(1,'name','hello')>>set(h,'visible','on');set(h,'visible','off');>>get(h);get(1);第七章MATLAB圖形處理一、圖形制作概述13第七章MATLAB圖形處理二、圖形窗口2圖形窗口的創建與控制(2)多重子圖窗口的創建函數命令:subplot調用格式:h=subplot(m,n,p)

該命令將圖形窗口分割為多個子圖窗口。

第七章MATLAB圖形處理二、圖形窗口14第七章MATLAB圖形處理二、圖形窗口2圖形窗口的創建與控制(2)多重子圖窗口的創建注意事項:*若執行命令前已經存在某一子圖,則該命令將新圖形輸出到相應子圖,并把原來子圖覆蓋。*m為子圖行數,n為子圖列數。*p為子圖窗口序號。

第七章MATLAB圖形處理二、圖形窗口15第七章MATLAB圖形處理二、圖形窗口2圖形窗口的創建與控制(2)多重子圖窗口的創建例題:在同一圖形窗口、不同坐標系中分別作出y=sin(x),y=sin(2x),y=sin(3x)和y=sin(4x)在[0,2*pi]的圖形。>>x=(0:0.01:2)*pi;>>y1=sin(x);y2=sin(2*x);y3=sin(3*x);y4=sin(4*x);>>a=subplot(2,2,1);plot(x,y1);>>b=subplot(2,2,2);plot(x,y2);>>c=subplot(2,2,3);plot(x,y3);>>d=subplot(2,2,4);plot(x,y4);第七章MATLAB圖形處理二、圖形窗口16第七章MATLAB圖形處理二、圖形窗口2圖形窗口的創建與控制(3)多重子圖窗口的控制相關命令:get(n):獲得第n個圖形窗口的有關屬性。set(n):設置第n個圖形窗口的有關屬性。第七章MATLAB圖形處理二、圖形窗口17第七章MATLAB圖形處理二、圖形窗口2圖形窗口的創建與控制(3)多重子圖窗口的控制相關命令:>>get(1);>>get(a);>>set(a,'visible','off');>>set(a,'visible','on'); >>set(1,'visible','off'); >>set(1,'visible','on');第七章MATLAB圖形處理二、圖形窗口18第七章MATLAB圖形處理三、二維平面圖形的繪制1基本圖形函數函數命令:plot調用格式:plot(x)plot(x,y)plot(x,y1,x,y2,…)第七章MATLAB圖形處理三、二維平面圖形的繪制19第七章MATLAB圖形處理三、二維平面圖形的繪制1基本圖形函數plot是繪制二維圖形的最基本函數,針對向量或者矩陣的列來繪制曲線的。在使用plot函數之前,必須首先定義好曲線上每一點的x及y坐標。第七章MATLAB圖形處理三、二維平面圖形的繪制20第七章MATLAB圖形處理三、二維平面圖形的繪制1基本圖形函數(1)plot(x)*當x為一向量時,以x元素的值為縱坐標,x的序號為橫坐標值繪制曲線。*當x為一m×n的實數矩陣時,以x序號為橫坐標,按列繪制每列元素值相對于其序號的曲線。最終繪制出n條曲線。

第七章MATLAB圖形處理三、二維平面圖形的繪制21第七章MATLAB圖形處理三、二維平面圖形的繪制1基本圖形函數例如:>>x=[123456]>>plot(x)>>x=[12;34]>>plot(x)>>x=[12;34;56]>>plot(x)第七章MATLAB圖形處理三、二維平面圖形的繪制22第七章MATLAB圖形處理三、二維平面圖形的繪制1基本圖形函數(2)plot(x,y)*若x,y為同維向量,則以x元素為橫坐標值,y元素為縱坐標值繪制曲線。(常見)*若x是向量,y是有一維與x元素數量相等的矩陣,則以x為共同橫坐標,按列繪制y每列元素值,曲線數為y的另一維的元素數。*若x,y是同維矩陣,則以x,y對應列元素為橫、縱坐標分別繪制曲線。曲線數為矩陣的列數。

第七章MATLAB圖形處理三、二維平面圖形的繪制23第七章MATLAB圖形處理三、二維平面圖形的繪制1基本圖形函數例如: >>x=[1234] >>y=[7890] >>plot(x,y) >>y=[7890;1234;2222] >>plot(x,y) >>x=[1234;5678;9123] >>y=[7890;1234;2222] >>plot(x,y)第七章MATLAB圖形處理三、二維平面圖形的繪制24第七章MATLAB圖形處理三、二維平面圖形的繪制1基本圖形函數(3)plot(x,y1,x,y2,…)*若x,y均為同維向量時,以公共的x元素為橫坐標值,以y1,y2,…元素為縱坐標值繪制多條曲線。*x,y1,y2均為矩陣時,情況比較復雜,請大家在實驗課上自己演練驗證。第七章MATLAB圖形處理三、二維平面圖形的繪制25第七章MATLAB圖形處理三、二維平面圖形的繪制1基本圖形函數例如:>>x=[1234]>>y1=[9123]>>y2=[1234]>>plot(x,y1,x,y2)第七章MATLAB圖形處理三、二維平面圖形的繪制26第七章MATLAB圖形處理三、二維平面圖形的繪制1基本圖形函數提問:若>>x=[4312]如何繪制?若>>y1=[1241;3413]>>y2=[673;555;222;111]如何繪制?第七章MATLAB圖形處理三、二維平面圖形的繪制27第七章MATLAB圖形處理三、二維平面圖形的繪制1基本圖形函數

比較以下兩幅圖:(page64)問:圖形發生了什么變化?第七章MATLAB圖形處理三、二維平面圖形的繪制比較以下28第七章MATLAB圖形處理三、二維平面圖形的繪制1基本圖形函數

例題:畫出一條正弦曲線和一條余弦曲線。>>x=0:pi/10:2*pi;>>y1=sin(x);>>y2=cos(x);>>plot(x,y1,x,y2);第七章MATLAB圖形處理三、二維平面圖形的繪制29第七章MATLAB圖形處理三、二維平面圖形的繪制1基本圖形函數例題:畫出一條正弦曲線和一條余弦曲線。>>x=0:pi/10:2*pi;>>y1=sin(x);>>y2=cos(x);>>plot(x,y1,'r+-',x,y2,'k*:');第七章MATLAB圖形處理三、二維平面圖形的繪制30第七章MATLAB圖形處理三、二維平面圖形的繪制1基本圖形函數

參考page65表4-1繪圖參數表。第七章MATLAB圖形處理三、二維平面圖形的繪制參考pa31第七章MATLAB圖形處理三、二維平面圖形的繪制2圖形修飾函數

參考page65表4-2圖形修飾函數表。第七章MATLAB圖形處理三、二維平面圖形的繪制參考pa32第七章MATLAB圖形處理三、二維平面圖形的繪制2圖形修飾函數例題4-2(page66):給例題4-1中的圖形中加入網格和標注。>>gridon;>>xlabel('IndependentVariableX');>>ylabel('DependentVariableY1&Y2')>>title('SinandCosCurve')>>text(1.5,0.3,'cos(x)');>>gtext('sin(x)');>>axis([02*pi-0.90.9]);第七章MATLAB圖形處理三、二維平面圖形的繪制33第七章MATLAB圖形處理三、二維平面圖形的繪制3圖形的比較顯示

問題:用什么方法可以把圖形進行比較顯示?第七章MATLAB圖形處理三、二維平面圖形的繪制問題:34第七章MATLAB圖形處理三、二維平面圖形的繪制3圖形的比較顯示

方法一:用同一x,以及不同y進行繪制;方法二:用holdon(/off)命令;方法三:采用subplot命令。第七章MATLAB圖形處理三、二維平面圖形的繪制方法一:35第七章MATLAB圖形處理三、二維平面圖形的繪制3圖形的比較顯示例題4-3,在同一窗口中繪制線段。>>x=0:pi/10:2*pi;>>y1=sin(x);>>y2=cos(x);>>y3=x;>>y4=log(x);>>plot(x,y1,x,y2);>>holdon;>>plot(x,y3);>>plot(x,y4);>>holdoff;>>plot(x,y1);第七章MATLAB圖形處理三、二維平面圖形的繪制36第七章MATLAB圖形處理課后任務:1。熟悉圖形窗口的創建和控制(單一/多個子圖);2。熟悉基本圖形函數的使用方法。3。熟悉多個圖形在同一圖形窗口中的比較方法。第七章MATLAB圖形處理課后任務:37

38第七章MATLAB圖形處理四、其他二維圖形繪制函數1直方圖函數命令:barbarh調用格式:bar(y),bar(y,width);bar(x,y),bar(x,y,width);bar(~,‘grouped’);bar(~,‘stack’)

第七章MATLAB圖形處理四、其他二維圖形繪制函數39第七章MATLAB圖形處理四、其他二維圖形繪制函數1直方圖(1)bar(y),bar(y,width),bar(y,width,‘grouped’)bar(y,width,‘stacked’)該命令生成一組直方圖,可視化結果為m組,每組n個垂直柱。(y可以為一組向量,或是m×n矩陣。)第七章MATLAB圖形處理四、其他二維圖形繪制函數40第七章MATLAB圖形處理四、其他二維圖形繪制函數1直方圖例題:>>clf;>>y=[1234];>>bar(y);>>y=[1234;2345;5678];>>bar(y);>>bar(y,8);>>bar(y,0.08);

第七章MATLAB圖形處理四、其他二維圖形繪制函數41第七章MATLAB圖形處理四、其他二維圖形繪制函數1直方圖例題:>>subplot(3,1,1);bar(y);>>subplot(3,1,2);bar(y,'grouped');>>subplot(3,1,3);bar(y,0.08,'grouped');>>subplot(3,1,1);bar(y);>>subplot(3,1,2);bar(y,0.08,'stack');>>subplot(3,1,3);bar(y,'stack');第七章MATLAB圖形處理四、其他二維圖形繪制函數42第七章MATLAB圖形處理四、其他二維圖形繪制函數1直方圖(2)bar(x,y),bar(x,y,width),bar(x,y,width,’grouped’)bar(x,y,width,’stacked’)該命令生成一組直方圖,可視化結果為m組,每組n個垂直柱。(y可以為一組向量,或是m×n矩陣。)第七章MATLAB圖形處理四、其他二維圖形繪制函數43第七章MATLAB圖形處理四、其他二維圖形繪制函數1直方圖例題:>>clf;>>x=[6910];>>y=[123];>>bar(x,y);>>y=[1234;2345;5678];>>bar(x,y);>>bar(x,y,0.08);>>bar(x,y,'stack');>>bar(x,y,'grouped');第七章MATLAB圖形處理四、其他二維圖形繪制函數44第七章MATLAB圖形處理四、其他二維圖形繪制函數1直方圖

思考:對參數x的維度有什么要求?

和誰同維?最好單調。第七章MATLAB圖形處理四、其他二維圖形繪制函數思45第七章MATLAB圖形處理四、其他二維圖形繪制函數2面積圖函數命令:area調用格式:area(x,y)

該命令繪制(x,y)的面積圖。參考plot(x,y)

第七章MATLAB圖形處理四、其他二維圖形繪制函數46第七章MATLAB圖形處理四、其他二維圖形繪制函數2面積圖例題:>>clf>>x=0:0.01:2*pi;y=sin(x);>>area(x,y)第七章MATLAB圖形處理四、其他二維圖形繪制函數47第七章MATLAB圖形處理四、其他二維圖形繪制函數2面積圖

提問:如果畫y=x,繪制的是哪部分?第七章MATLAB圖形處理四、其他二維圖形繪制函數48第七章MATLAB圖形處理四、其他二維圖形繪制函數3餅圖函數命令:pie調用格式:pie(x)pie(x,explode)pie(...,labels)

該命令繪制餅圖。

第七章MATLAB圖形處理四、其他二維圖形繪制函數49第七章MATLAB圖形處理四、其他二維圖形繪制函數3餅圖例題:某班級考試,90分以上32人,80~89分58人,70~79分27人,60~69分21人,60分以下16人,畫出餅圖。>>x=[3258272116];>>pie(x);>>explode=[00001];>>pie(x,explode);>>explode=[00101];>>pie(x,explode);>>pie(x,{'you','liang','zhong','jige','cha'});第七章MATLAB圖形處理四、其他二維圖形繪制函數50第七章MATLAB圖形處理四、其他二維圖形繪制函數

參考page72,表4-3中介紹的繪圖函數。第七章MATLAB圖形處理四、其他二維圖形繪制函數51第七章MATLAB圖形處理四、其他二維圖形繪制函數例題:繪制x=[123456]的針狀圖。>>clf>>x=[123456];>>stem(x);第七章MATLAB圖形處理四、其他二維圖形繪制函數52第七章MATLAB圖形處理四、其他二維圖形繪制函數例題:繪制x=[123456],y=[123456],u=[123456],v=[123456]的藍色和紅色向量場圖、關于(u,v)的羽狀圖、羅盤圖。>>clf>>x=[123456];>>y=[123456];>>u=[123456];>>v=[123456];>>subplot(2,2,1);quiver(x,y,u,v);>>subplot(2,2,2);quiver(x,y,u,v,'r');>>subplot(2,2,3);feather(u,v);>>subplot(2,2,4);compass(u,v);第七章MATLAB圖形處理四、其他二維圖形繪制函數53第七章MATLAB圖形處理四、其他二維圖形繪制函數例題:繪制50個隨機數據分布特征的玫瑰花圖與函數y=sin(x)在[0,2*pi]中根據峰值函數peaks繪制等值線圖,并作出1000個隨機數的柱狀圖。>>clf>>theta=10*rand(1,50);>>Z=peaks;>>x=0:0.01:2*pi;y=sin(x);>>t=randn(1000,1);>>subplot(3,1,1);rose(theta);>>subplot(3,1,2);contour(Z);>>subplot(3,1,3);hist(t);第七章MATLAB圖形處理四、其他二維圖形繪制函數54第七章MATLAB圖形處理四、其他二維圖形繪制函數例題:繪制由bucky函數所產生稀疏鄰接矩陣的拓撲圖及關于向量t=[123456]的階梯圖,并在[0,4*pi]上繪制y=x*esin(x)的誤差條形圖與彗星圖。>>clf>>[A,C]=bucky;>>t=[123456];>>x=0:0.7:4*pi;y=x.*exp(sin(x));l=0.1*y;>>subplot(2,2,1);gplot(A,C);>>subplot(2,2,2);stairs(t);>>subplot(2,2,3);errorbar(x,y,l);>>subplot(2,2,4);comet(x,y);第七章MATLAB圖形處理四、其他二維圖形繪制函數55第七章MATLAB圖形處理五、不同坐標系中繪圖1直角坐標系中繪圖函數命令:plot等繪圖函數。

第七章MATLAB圖形處理五、不同坐標系中繪圖56第七章MATLAB圖形處理五、不同坐標系中繪圖2對數坐標系中繪圖函數命令:loglog,semilogx,semilogy調用格式:loglog(x,y)semilogx(x,y)semilogy(x,y)重要提示:log10(0)數學上沒有意義,但MATLAB并不給出錯誤提示信息。第七章MATLAB圖形處理五、不同坐標系中繪圖57第七章MATLAB圖形處理五、不同坐標系中繪圖2對數坐標系中繪圖例題:已知x=[1.27.03.65.08.0],y=[4.15.26.39.015.0],分別在雙對數坐標系,半對數坐標系(分別取橫縱軸為對數)繪制(x,y)對應的圖形。第七章MATLAB圖形處理五、不同坐標系中繪圖58第七章MATLAB圖形處理五、不同坐標系中繪圖2對數坐標系中繪圖>>clf>>x=[1.27.03.65.08.0];>>y=[4.15.26.39.015.0];>>subplot(1,3,1);loglog(x,y);>>subplot(1,3,2);semilogx(x,y);>>subplot(1,3,3);semilogy(x,y);第七章MATLAB圖形處理五、不同坐標系中繪圖59第七章MATLAB圖形處理五、不同坐標系中繪圖3極坐標系中繪圖函數命令:polar調用格式:polar(theta,r)

重要提示:可使用命令[x,y]=pol2cart(theta,r)將極坐標系的數據點對(theta,r)轉化為直角坐標系的數據點對[x,y],命令plot(x,y)和命令polar(theta,r)的效果相同。第七章MATLAB圖形處理五、不同坐標系中繪圖60第七章MATLAB圖形處理五、不同坐標系中繪圖3極坐標系中繪圖例題:分別在極坐標系和直角坐標系中作出三葉玫瑰線r=a*cos(3*theta)的圖形,這里a=2。

第七章MATLAB圖形處理五、不同坐標系中繪圖61第七章MATLAB圖形處理五、不同坐標系中繪圖3極坐標系中繪圖>>clf>>a=2;>>theta=(0:0.01:4)*pi;>>r=a*cos(3*theta);>>subplot(1,2,1);polar(theta,r);>>[x,y]=pol2cart(theta,r);>>subplot(1,2,2);plot(x,y);>>axisequal;第七章MATLAB圖形處理五、不同坐標系中繪圖62第七章MATLAB圖形處理五、不同坐標系中繪圖4雙軸圖函數命令:plotyy調用格式:[haxes,hline1,hline2]=plotyy(x1,y1,x2,y2,m1,m2)

第七章MATLAB圖形處理五、不同坐標系中繪圖63第七章MATLAB圖形處理五、不同坐標系中繪圖4雙軸圖例題:分別作出z1=A*e-at與z2=sin(bt)的雙軸圖,這里t在[0,900],A=1000,a=b=0.005。第七章MATLAB圖形處理五、不同坐標系中繪圖64第七章MATLAB圖形處理五、不同坐標系中繪圖4雙軸圖>>clf>>t=0:900;A=1000;a=0.005;b=0.005;>>z1=A*exp(-a*t);>>z2=sin(b*t);>>[haxes,hline,hline2]=plotyy(t,z1,t,z2,'semilogy','plot');第七章MATLAB圖形處理五、不同坐標系中繪圖65第七章MATLAB圖形處理五、不同坐標系中繪圖4雙軸圖兩側標記處理函數:set

第七章MATLAB圖形處理五、不同坐標系中繪圖66第七章MATLAB圖形處理五、不同坐標系中繪圖4雙軸圖例如:繪制雙軸圖x=0:0.01:2*pi;y1=sin(x);y2=cos(x);將其左、右坐標軸AX(1)和AX(2)標題分別設置為“正弦函數”和“余弦函數”;將兩根曲線H1和H2的顏色分別設置為紅色和藍色;設置圖例。

第七章MATLAB圖形處理五、不同坐標系中繪圖67第七章MATLAB圖形處理五、不同坐標系中繪圖4雙軸圖>>x=0:0.01:2*pi;y1=sin(x);y2=cos(x);>>[AX,H1,H2]=plotyy(x,y1,x,y2,'plot');>>set(get(AX(1),'Ylabel'),'string','正弦函數');>>set(get(AX(2),'Ylabel'),'string','余弦函數');>>set(H1,'Color','r');>>set(H2,'Color','b');>>legend('正弦函數','余弦函數',1)>>legendoff>>plot(x,y1,x,y2)>>legend('正弦函數','余弦函數',1)>>legendoff第七章MATLAB圖形處理五、不同坐標系中繪圖68第七章MATLAB圖形處理六、符號表達式繪圖函數命令:fplot,ezplot調用格式:fplot(fun,lims,tol,n,p1,p2,…)ezplot(fun,lims,fig)

第七章MATLAB圖形處理六、符號表達式繪圖69第七章MATLAB圖形處理六、符號表達式繪圖1fplot(fun,lims,tol,n,p1,p2,…)fun:繪制函數fun的圖形;lims:作圖區間;tol:相對誤差,默認為2e-3;n:作圖點數,默認值n=1;p1,p2,…:函數的參數,默認沒有參數。第七章MATLAB圖形處理六、符號表達式繪圖70第七章MATLAB圖形處理六、符號表達式繪圖例題:使用命令fplot作出函數y=sin(x)的圖形,自變量區間分別為:x在[0,2*pi]之間;x在[pi,3*pi];x在[-pi,pi],y在[-pi,pi];x在[02*pi](此時要求作圖誤差小于0.001)。

第七章MATLAB圖形處理六、符號表達式繪圖71第七章MATLAB圖形處理六、符號表達式繪圖>>clf>>subplot(2,2,1),fplot('sin(x)',[02*pi]);>>subplot(2,2,2),fplot('sin(x)',[pi3*pi]);>>subplot(2,2,3),fplot('sin(x)',pi*[-11-11]);>>subplot(2,2,4),fplot('sin(x)',[02*pi],1e-3);

第七章MATLAB圖形處理六、符號表達式繪圖72第七章MATLAB圖形處理六、符號表達式繪圖2ezplot(fun,lims,fig)fun:繪制函數fun的圖形;lims:作圖區間;fig:圖形窗口句柄。重要提示:ezplot可作隱函數與多元函數的圖形。默認作圖區間為[-2*pi2*pi].第七章MATLAB圖形處理六、符號表達式繪圖73第七章MATLAB圖形處理六、符號表達式繪圖例題:繪制函數u2-v2-1=0在u區間[-3,2],v區間[-2,3]上的圖形。>>clf>>ezplot('u^2-v^2-1',[-32-23]);?>>ezplot('u^2-v^2-1',[-23-32]);?第七章MATLAB圖形處理六、符號表達式繪圖74第七章MATLAB圖形處理六、符號表達式繪圖例隱函數繪圖應用舉例。程序如下:subplot(2,2,1);ezplot('x^2+y^2-9');axisequalsubplot(2,2,2);ezplot('x^3+y^3-5*x*y+1/5')subplot(2,2,3);ezplot('cos(tan(pi*x))',[0,1])subplot(2,2,4);ezplot('8*cos(t)','4*sqrt(2)*sin(t)',[0,2*pi])第七章MATLAB圖形處理六、符號表達式繪圖75第七章MATLAB圖形處理用實例了解MATLAB繪圖第七章MATLAB圖形處理用實例了解MATLAB繪圖76第七章MATLAB圖形處理繪圖實例1:[x,y]=meshgrid(linspace(-2,2,200));R=1.0;r=zeros(size(x));rind=find((x+0.4).^2+(y+0.4).^2<R^2);r(rind)=1;g=zeros(size(x));gind=find((x-0.4).^2+(y+0.4).^2<R^2);g(gind)=1;b=zeros(size(x));bind=find(x.^2+(y-0.4).^2<R^2);b(bind)=1;rgb=cat(3,r,g,b);imagesc(rgb)axisequaloff第七章MATLAB圖形處理繪圖實例1:77第七章MATLAB圖形處理繪圖實例2:q=imread('redGirl.jpg');image(q)axisimageoffq_original=q;q(:,:,1)=0;subplot(221)image(q_original)axisimageoffsubplot(222)image(q)axisimageoff第七章MATLAB圖形處理繪圖實例2:78第七章MATLAB圖形處理繪圖實例2:q=imread(‘Waa.bmp');image(q)axisimageoffq_original=q;q(:,:,1)=0;subplot(221)image(q_original)axisimageoffsubplot(222)image(q)axisimageoff第七章MATLAB圖形處理繪圖實例2:79第七章MATLAB圖形處理補充:畫一個circle。t=linspace(0,2*pi);x=cos(t);y=sin(t);plot(x,y)?發現什么問題?嘗試以下命令觀察變化。axisequalaxissquareaxisimage?舉例說明何時用equal,square和image。第七章MATLAB圖形處理補充:80第七章MATLAB圖形處理二維繪圖小結:Figure,Plot,subplot;繪圖區域裝飾;常用繪圖函數:bar,area,pie等。其他繪圖函數。(了解)不同坐標系中繪圖,雙軸圖。符號表達式繪圖:fplot,ezplot。第七章MATLAB圖形處理二維繪圖小結:81

82第七章MATLAB圖形處理*教學目標介紹MATLAB的三維立體圖形的繪圖功能。*學習要求熟練掌握使用MATLAB的基本三維繪圖功能。

第七章MATLAB圖形處理*教學目標83第七章MATLAB圖形處理七、三維立體圖形1三維曲線圖基本繪圖函數函數命令:plot3調用格式:plot3(x1,y1,z1,x2,y2,z2,…)

使用方式與plot相似。第七章MATLAB圖形處理七、三維立體圖形84第七章MATLAB圖形處理七、三維立體圖形1三維曲線圖基本繪圖函數例題4-5(page68):繪制方程第七章MATLAB圖形處理七、三維立體圖形85第七章MATLAB圖形處理七、三維立體圖形1三維曲線圖基本繪圖函數例題4-5(page68):>>t=0:pi/10:2*pi;>>y1=sin(t);>>y2=cos(t);>>plot3(y1,y2,t,‘m:p’);?>>gridon>>xlabel('DependentVariableY1');>>ylabel('DependentVariableY2');>>zlabel('DependentVariableX');>>title('SineandCosineCurve');第七章MATLAB圖形處理七、三維立體圖形86第七章MATLAB圖形處理七、三維立體圖形1三維曲線圖基本繪圖函數提問:>>plot3(y1,y2,t,‘m:p’);前三個參數位置互換的結果是什么?第七章MATLAB圖形處理七、三維立體圖形87第七章MATLAB圖形處理七、三維立體圖形1三維曲線圖基本繪圖函數例題:x在[0,2*pi],y在[0,2*pi],作圖z=cos(x)+sin(y)對應的曲線。>>clf>>x=0:0.01:2*pi;y=0:0.01:2*pi;>>z=cos(x)+sin(y);>>plot3(x,y,z);第七章MATLAB圖形處理七、三維立體圖形88第七章MATLAB圖形處理小結:三維繪圖最簡步驟:1確定x向量;2確定y=f(x);z=f(x);3用plot3(x,y,z)繪圖。第七章MATLAB圖形處理小結:89第七章MATLAB圖形處理七、三維立體圖形2三維曲線圖其他繪圖函數函數命令:bar3,pie3,stem3,ezplot3等。

使用方式與二維相似。第七章MATLAB圖形處理七、三維立體圖形90第七章MATLAB圖形處理七、三維立體圖形2三維曲線圖其他繪圖函數例題:繪制3維條形圖;繪制3維餅圖;繪制3維針狀圖;繪制3維函數圖。第七章MATLAB圖形處理七、三維立體圖形91第七章MATLAB圖形處理七、三維立體圖形2三維曲線圖其他繪圖函數>>clf>>x=[1234;2345;3456];>>y=[147];>>subplot(2,1,1),bar3(x);>>subplot(2,1,2),bar3(y,x);第七章MATLAB圖形處理七、三維立體圖形92第七章MATLAB圖形處理七、三維立體圖形2三維曲線圖其他繪圖函數>>clf>>x=[123456];>>subplot(3,1,1),pie3(x);>>subplot(3,1,2),stem3(x);>>subplot(3,1,3);>>ezplot3('cos(t)','t*sin(t)','sqrt(t)',[0,6*pi])第七章MATLAB圖形處理七、三維立體圖形93第七章MATLAB圖形處理七、三維立體圖形2三維曲線圖其他繪圖函數

三維隱函數繪圖例題:const=0;

x=1:0.1:10;y=1:0.1:10;z=0:0.1:10;

[x,y,z]=meshgrid(x,y,z);

f=(x+y+z).*(x.*y+x.*z+y.*z)-10*x.*y.*z-const;

p=patch(isosurface(x,y,z,f,0));

set(p,'FaceColor','red','EdgeColor','none');

daspect([111])

view(3)

camlight;lightingphong第七章MATLAB圖形處理七、三維立體圖形三維隱函數繪圖94第七章MATLAB圖形處理七、三維立體圖形3三維曲面圖繪圖函數函數命令:meshsurfmeshcsurfcmeshzmeshgrid第七章MATLAB圖形處理七、三維立體圖形95第七章MATLAB圖形處理七、三維立體圖形3三維曲面圖繪圖函數調用格式:

mesh(x,y,z):繪制數據的三維網格表面;surf(x,y,z):繪制數據的三維曲面;meshc(x,y,z):繪制數據的三維網格表面,并添加等值線。surfc(x,y,z):繪制數據的三維曲面,并在圖下添加等值線;meshz(x,y,z):繪制三維網格表面,并在圖下添加零平面。[x,y]=meshgrid(x,y):根據已有m個數據的向量x和n個數據的向量y分別生成有m×n個數據的新矩陣x和y。第七章MATLAB圖形處理七、三維立體圖形mesh96第七章MATLAB圖形處理七、三維立體圖形3三維曲面圖繪圖函數例題4-6(page69):分別用mesh函數和surf函數繪制高斯矩陣的曲面。>>clf>>Z=peaks(40);>>mesh(Z)>>surf(Z);第七章MATLAB圖形處理七、三維立體圖形97第七章MATLAB圖形處理七、三維立體圖形3三維曲面圖繪圖函數例題4-7(page70):繪制方程第七章MATLAB圖形處理七、三維立體圖形98第七章MATLAB圖形處理七、三維立體圖形3三維曲面圖繪圖函數通常在確定向量x,y的基礎上,使用命令meshgrid生成新的矩陣數據[X,Y],再輸入函數Z=f(X,Y),最后使用mesh等命令生成三維網格、使用surf等命令生成三維曲面。第七章MATLAB圖形處理七、三維立體圖形99第七章MATLAB圖形處理七、三維立體圖形3三維曲面圖繪圖函數例題4-7(page70):>>clf>>x=-7.5:0.5:7.5;y=x;>>[X,Y]=meshgrid(x,y);>>R=sqrt(X.^2+Y.^2)+eps;>>Z=sin(R)./R;>>surf(X,Y,Z);>>mesh(X,Y,Z);第七章MATLAB圖形處理七、三維立體圖形100第七章MATLAB圖形處理七、三維立體圖形3三維曲面圖繪圖函數例題4-9(page81):繪制方程形成的立體圖。第七章MATLAB圖形處理七、三維立體圖形101第七章MATLAB圖形處理七、三維立體圖形3三維曲面圖繪圖函數例題4-9(page81):>>clf>>x=-2:0.2:2;>>y=-2:0.2:2;>>[xx,yy]=meshgrid(x,y);>>zz=xx.*exp(-xx.^2-yy.^2);>>surf(xx,yy,zz)>>mesh(xx,yy,zz)第七章MATLAB圖形處理七、三維立體圖形102第七章MATLAB圖形處理七、三維立體圖形3三維曲面圖繪圖函數例題:在x屬于[-5,5],y屬于[-4,4]上作出

對應的三維網格表面和三維曲面。第七章MATLAB圖形處理七、三維立體圖形103第七章MATLAB圖形處理七、三維立體圖形3三維曲面圖繪圖函數>>clf>>x=-5:0.1:5;y=-4:0.1:4;>>[X,Y]=meshgrid(x,y);>>Z=0.5*X.^3+Y.^2;>>subplot(2,2,1);mesh(X,Y,Z);>>subplot(2,2,2);surf(X,Y,Z);>>subplot(2,2,3);meshc(X,Y,Z);>>subplot(2,2,4);surfc(X,Y,Z);>>figure(2)>>meshz(X,Y,Z)第七章MATLAB圖形處理七、三維立體圖形104第七章MATLAB圖形處理小結:三維曲面繪圖最簡步驟:1確定向量x,y2使用命令meshgrid生成新的矩陣;3z=f(x,y)4用mesh等命令生成三維網格;用surf等命令生成三維曲面。第七章MATLAB圖形處理小結:105第七章MATLAB圖形處理七、三維立體圖形4觀察點設置函數命令:view調用格式:view(azimuth,elevation)方位角azimuth是觀察點和坐標原點連線在x-y平面內的投影和y軸負方向的夾角。仰角elevation是觀察點與座標原點的連線和x-y平面的夾角。默認:2D(0,90)3D(-37.5,30)第七章MATLAB圖形處理七、三維立體圖形106第七章MATLAB圖形處理七、三維立體圖形4觀察點設置例題(page71):>>clf>>z=peaks(40);>>subplot(2,2,1);mesh(z);>>subplot(2,2,2);mesh(z);view(-37.5,30);>>subplot(2,2,3);mesh(z);view(180,0);>>subplot(2,2,4);mesh(z);view(0,90);第七章MATLAB圖形處理七、三維立體圖形107第七章MATLAB圖形處理七、三維立體圖形5色圖處理函數命令:colormap,brighten調用格式:colormap(map)brighten(s)colormap將當前圖形色圖設置為系統預定義的map格式;brighten改變當前圖形窗口色圖的亮度。第七章MATLAB圖形處理七、三維立體圖形108第七章MATLAB圖形處理七、三維立體圖形5色圖處理例題:試將前例題色圖設置為紅色-藍色-深紅色色圖,同時將圖形適當增亮。第七章MATLAB圖形處理七、三維立體圖形109第七章MATLAB圖形處理七、三維立體圖形5色圖處理>>clf>>x=-5:0.1:5;y=-4:0.1:4;>>[X,Y]=meshgrid(x,y);>>Z=0.5*X.^3+Y.^2;>>mesh(X,Y,Z);>>colormap(hsv);>>brighten(0.60);第七章MATLAB圖形處理七、三維立體圖形110第七章MATLAB圖形處理八、聲音與動畫1聲音的實現函數命令:sound調用格式:sound(y)sound(y,f)將向量y傳送至揚聲器,f為采樣頻率。第七章MATLAB圖形處理八、聲音與動畫111第七章MATLAB圖形處理八、聲音與動畫1聲音的實現例題:以20000Hz制作并播放余弦曲線形式的聲音。>>x=cos(linspace(0,10000,20000));>>sound(x);第七章MATLAB圖形處理八、聲音與動畫112第七章MATLAB圖形處理八、聲音與動畫1聲音的實現其他函數命令:wavplaywavreadwavrecordwavwritechirpbeep第七章MATLAB圖形處理八、聲音與動畫113第七章MATLAB圖形處理八、聲音與動畫2動畫的實現函數命令:getframemovie調用格式:M=getframemovie(M,k)第七章MATLAB圖形處理八、聲音與動畫114第七章MATLAB圖形處理八、聲音與動畫2動畫的實現例題:制作正弦曲線在[0,2*Pi]中從起點到終點的延伸情況曲線,并播放三次。第七章MATLAB圖形處理八、聲音與動畫115第七章MATLAB圖形處理八、聲音與動畫2動畫的實現>>s=0.2;x1=0;>>nframes=50;>>fork=1:nframesx1=x1+s;x=0:0.01:x1;y=sin(x);plot(x,y);axis([02*pi-11]);gridoff;M(k)=getframe;end>>movie(M,3);第七章MATLAB圖形處理八、聲音與動畫116第七章MATLAB圖形處理習題:1。試用MATLAB的求解下面方程組,并在統一坐標系中畫出方程4個解隨a在區間[0,2]變化的曲線。方程1:ax1+x2-x3=8方程2:2x1+x2-4x3=5方程3:x1+5x2+x3=-2第七章MATLAB圖形處理習題:117第七章MATLAB圖形處理習題:2。已知x=[1.27.03.65.08.0],y=[4.15.26.39.015.0],z=[11.1,15.216.319.025.0]試用MATLAB繪制x-y對應的圖形與x-y-z對應的圖形。第七章MATLAB圖形處理習題:118第七章MATLAB圖形處理習題:3。試用matlab在同一圖形窗口、不同坐標系中分別作出y=cos(x),y=cos(2x),y=cos(3x),y=cos(4x)在[0,2pi]的圖形。第七章MATLAB圖形處理習題:119第七章MATLAB圖形處理習題:4。試用MATLAB在同一直角坐標系中畫出函數Y1=sin(x),y2=cos(x),y3=x2與y4=x在x[4,10]內對應的曲線,并標出標題、圖例、坐標軸。第七章MATLAB圖形處理習題:120第七章MATLAB圖形處理習題:5。試用MATLAB在同一直角坐標系中畫出A=[00.051234]與B=[1.5211.4201.3531.2121.1060.993]對應的曲線,并標出標題、圖例、坐標軸。第七章MATLAB圖形處理習題:121第七章MATLAB圖形處理習題:6。試用MATLAB繪制極坐標系下的圖形:p=cos(5Q/4)+1/3,其中Q在[0,8pi]之間。第七章MATLAB圖形處理習題:122第七章MATLAB圖形處理習題:7。試用MATLAB繪制曲線y=e-0.2xsin(x)在區間[0,5pi]上的火柴桿圖與階梯圖。第七章MATLAB圖形處理習題:123第七章MATLAB圖形處理習題:8。試用MATLAB分別在x[0,2pi],y[-pi,pi]條件下,使用命令fplot作出函數y=x+cos(x)的圖形。第七章MATLAB圖形處理習題:124第七章MATLAB圖形處理習題:9。試用MATLAB在區間x[0,2pi],y[0,2pi]作出Z=x+sin(y)對應的曲線。第七章MATLAB圖形處理習題:125第七章MATLAB圖形處理習題:10。試用MATLAB在矩形區域x[-10,10],y[-10,10]上分別繪制函數z=x2+y2與y=sin根號下(x2+y2)/根號下(x2+y2)對應的三維網格表面圖和三維曲面圖。第七章MATLAB圖形處理習題:126第七章MATLAB圖形處理課后任務:1。熟悉二維圖形函數的常用方法。2。熟悉三維圖形函數的常用方法。第七章MATLAB圖形處理課后任務:127謝謝謝謝128MATLAB第七章圖形處理MATLAB第七章圖形處理MATLAB第七章圖形處理第七章MATLAB圖形處理請一位同學在黑板上畫一幅圖形。請其他同學猜測他畫的是什么圖形?MATLAB第七章圖形處理MATLAB第七章圖形處理MATL129第七章MATLAB圖形處理請一位同學在黑板上畫一幅圖形。請其他同學猜測他畫的是什么圖形?第七章MATLAB圖形處理請一位同學在黑板上畫一幅圖形。130第七章MATLAB圖形處理一、圖形制作概述MATLAB中進行圖形處理時,通常采用下面的步驟:

準備繪圖數據;選定繪圖窗口與繪圖區域;調入繪圖函數命令;設置圖形格式;輸出所繪制的圖形。第七章MATLAB圖形處理一、圖形制作概述準備繪圖數131第七章MATLAB圖形處理一、圖形制作概述例如:在[0,2]內作出正弦函數的圖形。

>>x=0:0.01:2>>y=sin(x);>>plot(x,y)第七章MATLAB圖形處理一、圖形制作概述132第七章MATLAB圖形處理一、圖形制作概述例5-1在0≤x≤2區間內,繪制曲線y=2e-0.5xcos(4πx)程序如下:>>x=0:pi/100:2*pi;>>y=2*exp(-0.5*x).*cos(4*pi*x);>>plot(x,y)第七章MATLAB圖形處理一、圖形制作概述133第七章MATLAB圖形處理小結:二維繪圖最簡步驟:1確定x向量;2確定y=f(x);3用plot(x,y)繪圖。第七章MATLAB圖形處理小結:134第七章MATLAB圖形處理二、圖形窗口1圖形窗口是什么?

圖形窗口是個獨立的窗口,系統自動將圖形繪制在圖形窗口上。第七章MATLAB圖形處理二、圖形窗口圖形窗口是個獨立的135第七章MATLAB圖形處理二、圖形窗口2圖形窗口的創建與控制

*單個圖形窗口的創建*多重子圖窗口的創建

第七章MATLAB圖形處理二、圖形窗口136第七章MATLAB圖形處理二、圖形窗口2圖形窗口的創建與控制(1)單個圖形窗口的創建與控制函數命令:figure調用格式:h=figureh=figure(n)

該命令創建單個圖形窗口。

第七章MATLAB圖形處理二、圖形窗口137第七章MATLAB圖形處理二、圖形窗口2圖形窗口的創建與控制(1)單個圖形窗口的創建與控制注意事項:*若沒有打開圖形窗口時執行繪圖命令,將自動創建一個圖形窗口;*若執行繪圖命令前已經打開幾個圖形窗口,則繪圖命令把圖形輸出到當前窗口中、并把這個窗口中原來的圖形覆蓋;*n為圖形窗口的編號。第七章MATLAB圖形處理二、圖形窗口138第七章MATLAB圖形處理一、圖形制作概述2圖形窗口的創建與控制(1)單個圖形窗口的創建與控制>>h1=figure(1)>>h2=figure(2)>>h3=figure(3)>>x=0:0.01:2;y=sin(x);plot(x,y)>>x=0:0.01:2;y=cos(x);plot(x,y)第七章MATLAB圖形處理一、圖形制作概述139第七章MATLAB圖形處理一、圖形制作概述2圖形窗口的創建與控制(1)單個圖形窗口的創建與控制相關命令:get(n):獲得第n個圖形窗口的有關屬性。set(n):設置第n個圖形窗口的有關屬性。

第七章MATLAB圖形處理一、圖形制作概述140第七章MATLAB圖形處理一、圖形制作概述2圖形窗口的創建與控制(1)單個圖形窗口的創建與控制例題:作出函數y=sin(x)在區間[0,10]上的圖形。>>x=0:0.01:10;>>x=0:0.01:10;>>y=sin(x);>>h=figure(1);>>plot(x,y);

溫馨提示

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

評論

0/150

提交評論