版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Matlab仿真及其應(yīng)用主講:陳孝敬E-mail:chenxj9@163.com主要內(nèi)容:二維和三維繪圖;圖形處理;MAT文件應(yīng)用;文件I/O;第5章數(shù)據(jù)顯示與存取5.1二維繪圖5.1.1函數(shù)plot()1.繪制單根二維曲線plot函數(shù)的基本調(diào)用格式為:plot(x,y)其中x和y為長(zhǎng)度相同的向量,分別用于存儲(chǔ)x坐標(biāo)和y坐標(biāo)數(shù)據(jù)。例5-3
在0≤x≤2區(qū)間內(nèi),繪制曲線
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)例5-1
用函數(shù)plot繪制雙向量x=0:0.1:10;y=sin(x)+2;plot(x,y)例5-2
用函數(shù)plot繪制雙向量和矩陣x=0:0.1:10;y=[sin(x)+2;cos(x)+1];plot(x,y)例5-4
繪制曲線。程序如下:t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y);2.plot函數(shù)最簡(jiǎn)單的調(diào)用格式是只包含一個(gè)輸入?yún)?shù):plot(x)在這種情況下,當(dāng)x是實(shí)向量時(shí),以該向量元素的下標(biāo)為橫坐標(biāo),元素值為縱坐標(biāo)畫出一條連續(xù)曲線,這實(shí)際上是繪制折線圖。例5-5
用函數(shù)plot()繪制向量和矩陣。t=1:0.1:10a=[0,1,2;2,3,4;5,6,7];y=sin(t);plot(y),figure,plot(a);3.plot(x,y,s)參數(shù)x和y的含義同plot(x,y)中的相同,參數(shù)s請(qǐng)參見書P79表5-1;
例5-6
用函數(shù)plot()繪制雙向量,其中數(shù)據(jù)點(diǎn)選為菱形,連接曲線選為紅色點(diǎn)劃線表示。x=0:0.5:20y=sin(x);plot(x,y,’-.rd);%plot(x,y,’:.mx);4.含多個(gè)輸入?yún)?shù)的plot函數(shù)調(diào)用格式為:plot(x1,y1,x2,y2,…,xn,yn)當(dāng)輸入?yún)?shù)都為向量時(shí),x1和y1,x2和y2,…,xn和yn分別組成一組向量對(duì),每一組向量對(duì)的長(zhǎng)度可以不同。每一向量對(duì)可以繪制出一條曲線,這樣可以在同一坐標(biāo)內(nèi)繪制出多條曲線。當(dāng)輸入?yún)?shù)有矩陣形式時(shí),配對(duì)的x,y按對(duì)應(yīng)列元素為橫、縱坐標(biāo)分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。例5-7
分析下列程序繪制的曲線。x1=linspace(0,2*pi,100);x2=linspace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x=[x1;x2;x3]';y=[y1;y2;y3]';plot(x,y,x1,y1-1)
5.1.2函數(shù)fplot()功能:對(duì)函數(shù)自適應(yīng)采樣的繪圖函數(shù)fplot函數(shù)的調(diào)用格式為:fplot(fname,lims,tol,選項(xiàng))其中fname為函數(shù)名,以字符串形式出現(xiàn),lims為x,y的取值范圍,tol為相對(duì)允許誤差,其系統(tǒng)默認(rèn)值為2e-3。選項(xiàng)定義與plot函數(shù)相同。例5-9
用fplot函數(shù)繪制f(x)=cos(tan(πx))的曲線。[x,y]=fplot('cos(tan(pi*x))',[0,1],1e-4);size(x)fplot('cos(tan(pi*x))',[0,1],1e-4)例5-8
用fplot函數(shù)繪制sin(x)的曲線。[x,y]=fplot(@sin,[-pipi],2e-4);size(x)fplot(@sin,[-pipi],2e-4);Matlab提供了一個(gè)ezplot函數(shù)繪制隱函數(shù)圖形,下面介紹其用法。(1)對(duì)于函數(shù)f=f(x),ezplot函數(shù)的調(diào)用格式為:ezplot(f):在默認(rèn)區(qū)間-2π<x<2π繪制f=f(x)的圖形。ezplot(f,[a,b]):在區(qū)間a<x<b繪制f=f(x)的圖形。(2)對(duì)于隱函數(shù)f=f(x,y),ezplot函數(shù)的調(diào)用格式為:ezplot(f):在默認(rèn)區(qū)間-2π<x<2π和-2π<y<2π繪制f(x,y)=0的圖形。ezplot(f,[xmin,xmax,ymin,ymax]):在區(qū)間xmin<x<xmax和ymin<y<ymax繪制f(x,y)=0的圖形。ezplot(f,[a,b]):在區(qū)間a<x<b和a<y<b繪制f(x,y)=0的圖形。5.1.3隱函數(shù)繪圖(3)對(duì)于參數(shù)方程x=x(t)和y=y(t),ezplot函數(shù)的調(diào)用格式為:ezplot(x,y):在默認(rèn)區(qū)間0<t<2π繪制x=x(t)和y=y(t)的圖形。ezplot(x,y,[tmin,tmax]):在區(qū)間tmin<t<tmax繪制x=x(t)和y=y(t)的圖形。例5-10
隱函數(shù)繪圖應(yīng)用舉例。程序如下: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])5.2三維繪圖plot3函數(shù)與plot函數(shù)用法十分相似,其調(diào)用格式為:plot3(x1,y1,z1,選項(xiàng)1,x2,y2,z2,選項(xiàng)2,…,xn,yn,zn,選項(xiàng)n)其中每一組x,y,z組成一組曲線的坐標(biāo)參數(shù),選項(xiàng)的定義和plot函數(shù)相同。當(dāng)x,y,z是同維向量時(shí),則x,y,z對(duì)應(yīng)元素構(gòu)成一條三維曲線。當(dāng)x,y,z是同維矩陣時(shí),則以x,y,z對(duì)應(yīng)列元素繪制三維曲線,曲線條數(shù)等于矩陣列數(shù)。5.2.1三維曲線例5-11
繪制三維曲線。程序如下:t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot3(x,y,z);title('Linein3-DSpace');xlabel('X');ylabel('Y');zlabel('Z');gridon;產(chǎn)生三維數(shù)據(jù)在MATLAB中,利用meshgrid函數(shù)產(chǎn)生平面區(qū)域內(nèi)的網(wǎng)格坐標(biāo)矩陣。其格式為:x=a:d1:b;y=c:d2:d;[X,Y]=meshgrid(x,y);語(yǔ)句執(zhí)行后,矩陣X的每一行都是向量x,行數(shù)等于向量y的元素的個(gè)數(shù),矩陣Y的每一列都是向量y,列數(shù)等于向量x的元素的個(gè)數(shù)。5.2.2三維曲面繪制三維曲面的函數(shù)surf函數(shù)和mesh函數(shù)的調(diào)用格式為:mesh(x,y,z,c)surf(x,y,z,c)一般情況下,x,y,z是維數(shù)相同的矩陣。x,y是網(wǎng)格坐標(biāo)矩陣,z是網(wǎng)格點(diǎn)上的高度矩陣,c用于指定在不同高度下的顏色范圍。例5-12
繪制三維曲面圖z=sin(x+sin(y))-x/10。程序如下:[x,y]=meshgrid(0:0.25:4*pi);z=sin(x+sin(y))-x/10;mesh(x,y,z);axis([04*pi04*pi-2.51]);此外,還有帶等高線的三維網(wǎng)格曲面函數(shù)meshc和帶底座的三維網(wǎng)格曲面函數(shù)meshz。其用法與mesh類似,不同的是meshc還在xy平面上繪制曲面在z軸方向的等高線,meshz還在xy平面上繪制曲面的底座。例5-13
在xy平面內(nèi)選擇區(qū)域[-8,8]×[-8,8],繪制4種三維曲面圖。程序如下:[x,y]=meshgrid(-8:0.5:8);z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);subplot(2,2,1);mesh(x,y,z);title('mesh(x,y,z)')subplot(2,2,2);meshc(x,y,z);title('meshc(x,y,z)')subplot(2,2,3);meshz(x,y,z)title('meshz(x,y,z)')subplot(2,2,4);surf(x,y,z);title('surf(x,y,z)')標(biāo)準(zhǔn)三維曲面sphere函數(shù)的調(diào)用格式為:[x,y,z]=sphere(n)cylinder函數(shù)的調(diào)用格式為:[x,y,z]=cylinder(R,n)Matlab還有一個(gè)peaks函數(shù),稱為多峰函數(shù),常用于三維曲面的演示。例5-14
繪制標(biāo)準(zhǔn)三維曲面圖形。程序如下:t=0:pi/20:2*pi;[x,y,z]=cylinder(2+sin(t),30);subplot(2,2,1);surf(x,y,z);subplot(2,2,2);[x,y,z]=sphere;surf(x,y,z);subplot(2,1,2);[x,y,z]=peaks(30);surf(x,y,z);圖形坐標(biāo)和圖形標(biāo)題有關(guān)圖形標(biāo)注函數(shù)的調(diào)用格式為:title(圖形名稱)xlabel(x軸說明)ylabel(y軸說明)zlabel(z軸說明)5.3圖形處理5.3.1圖形標(biāo)注例5-15
在0≤x≤2區(qū)間內(nèi),繪制曲線y1=2e-0.5x和y2=cos(4πx),并給圖形添加圖形標(biāo)注。程序如下:x=0:pi/100:2*pi;y1=2*exp(-0.5*x);y2=cos(4*pi*x);plot(x,y1,x,y2)title('xfrom0to2{\pi}','fontsize',12,'fontweight','bold');%加圖形標(biāo)題xlabel('VariableX');%加X軸說明ylabel(‘VariableY’,‘fontweight’,‘bold’);%加Y軸說明文本標(biāo)注和圖列標(biāo)注text(x,y,圖形說明)gtext({‘string1’,’string2’,’string3’,....,});legend(圖例1,圖例2,…)函數(shù)中的說明文字,除使用標(biāo)準(zhǔn)的ASCII字符外,還可使用LaTeX格式的控制字符,這樣就可以在圖形上添加希臘字母、數(shù)學(xué)符號(hào)及公式等內(nèi)容。例如,text(0.3,0.5,‘sin({\omega}t+{\beta})’)將得到標(biāo)注效果sin(ωt+β)。其中,gtext可以用鼠標(biāo)來(lái)選擇標(biāo)注的位置例5-16
在0≤x≤2區(qū)間內(nèi),繪制曲線y1=2e-0.5x和y2=cos(4πx),并給圖形添加圖形標(biāo)注。程序如下:x=0:pi/100:2*pi;y1=2*exp(-0.5*x);y2=cos(4*pi*x);plot(x,y1,x,y2)title('xfrom0to2{\pi}','fontsize',12,'fontweight','bold');%加圖形標(biāo)題xlabel('VariableX');%加X軸說明ylabel('VariableY','fontweight','bold');%加Y軸說明text(0.8,1.5,'曲線y1=2e^{-0.5x}');%在指定位置添加圖形說明text(2.5,1.1,'曲線y2=cos(4{\pi}x)');legend('y1','y2')例5-17
用函數(shù)gtext()對(duì)圖形進(jìn)行文本標(biāo)注
x=1:0.1*pi:2*pi;y=sin(x);plot(x,y);gtext('y=sin(x)','fontsize',12);例5-18
用函數(shù)plot()繪制一離散點(diǎn)圖,并標(biāo)上每一個(gè)離散點(diǎn)的序號(hào)。is=1:20;zzz=is;figure,plot(is,zzz,'.');text(is+.01,zzz,num2cell(1:20));例5-19
畫一橢圓th=[0:pi/50:2*pi]';a=[0.5:.5:4.5];x=cos(th)*a;y=sin(th)*sqrt(25-a.^2);plot(x,y),axis('equal'),xlabel('x'),ylabel('y')title('AsetofEllipses');
axis函數(shù)的調(diào)用格式為:axis([xminxmaxyminymaxzminzmax])axis函數(shù)功能豐富,常用的格式還有:axisequal:縱、橫坐標(biāo)軸采用等長(zhǎng)刻度。axissquare:產(chǎn)生正方形坐標(biāo)系(缺省為矩形)。axisauto:使用缺省設(shè)置。axisoff:取消坐標(biāo)軸。axison:顯示坐標(biāo)軸。5.3.2
坐標(biāo)控制給坐標(biāo)加網(wǎng)格線用grid命令來(lái)控制。gridon/off命令控制是畫還是不畫網(wǎng)格線,不帶參數(shù)的grid命令在兩種狀態(tài)之間進(jìn)行切換。給坐標(biāo)加邊框用box命令來(lái)控制。boxon/off命令控制是加還是不加邊框線,不帶參數(shù)的box命令在兩種狀態(tài)之間進(jìn)行切換。例5-20
在同一坐標(biāo)中,可以繪制3個(gè)同心圓,并加坐標(biāo)控制。程序如下:t=0:0.01:2*pi;x=exp(i*t);y=[x;2*x;3*x]';plot(y)gridon;%加網(wǎng)格線boxon;%加坐標(biāo)邊框axisequal%坐標(biāo)軸采用等刻度可用ginput函數(shù)讀取二維圖形的數(shù)據(jù)例5-21用函數(shù)ginput讀取二維圖形的數(shù)據(jù)x=-pi:pi/20:pi;plot(x,cos(x));[x,y]=ginput(1);Error=y-cos(x);5.3.3
圖形數(shù)據(jù)取點(diǎn)holdon/off命令控制是保持原有圖形還是刷新原有圖形,不帶參數(shù)的hold命令在兩種狀態(tài)之間進(jìn)行切換。例5-22
采用圖形保持,在同一坐標(biāo)內(nèi)繪制曲線y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)。程序如下:x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);plot(x,y1)holdony2=2*exp(-0.5*x).*cos(pi*x);plot(x,y2);holdoff5.3.3
字圖和圖形保持
圖形窗口的分割subplot函數(shù)的調(diào)用格式為:subplot(m,n,p)該函數(shù)將當(dāng)前圖形窗口分成m×n個(gè)繪圖區(qū),即每行n個(gè),共m行,區(qū)號(hào)按行優(yōu)先編號(hào),且選定第p個(gè)區(qū)為當(dāng)前活動(dòng)區(qū)。在每一個(gè)繪圖區(qū)允許以不同的坐標(biāo)系單獨(dú)繪制圖形。x=-pi:pi/20:pi;subplot(2,2,1);plot(x,cos(x));title('First:cos');subplot(2,2,2);plot(x,sin(x));title('First:sin');x=-pi:pi/20:pi;Subplot(2,2,3);plot(x,floor(x));title('Third:floor');subplot(2,2,4);plot(x,round(x));title('Fouth:round');例5-23
在一個(gè)圖形上繪制大小的字圖Matlab在圖形窗口中提供了可視化的圖形編輯工具,利用圖形窗口菜單欄或工具欄中的有關(guān)命令可以完成對(duì)窗口中各種圖形對(duì)象的編輯處理。在圖形窗口上有一個(gè)菜單欄和工具欄。菜單欄包含F(xiàn)ile、Edit、View、Insert、Tools、Window和Help共7個(gè)菜單項(xiàng),工具欄包含11個(gè)命令按鈕。5.3.4
圖形的可視化編輯5.4MAT文件應(yīng)用擴(kuò)展名是.mat可借助命令save和load實(shí)現(xiàn)讀寫例5-24
用命令save和load實(shí)現(xiàn)Matlab對(duì)數(shù)據(jù)的讀寫程序如下:clearclcx=-pi:pi/3:pi;y=cos(x);savemydatafilex,y;clearloadmydatafilez=y;5.5文件I/O5.5.1打開和關(guān)閉文件matlab文件輸入、輸出(I/O)函數(shù)允許把其它格式的數(shù)據(jù)文件直接讀進(jìn)matlab,它是以c語(yǔ)言文件I/O函數(shù)為基礎(chǔ)的。打開和關(guān)閉文件(fopen,fclose)格式:fid=fopen(‘?dāng)?shù)據(jù)文件’,‘r’)‘r’——讀‘w’——寫‘a(chǎn)’——附加‘rt’——讀寫關(guān)閉文件:status=fclose(fid);例5-25
在某文件不存在的情況下,用函數(shù)fopen按只讀方式打開文件[fid,message]=fopen('test.dat','r');例5-26
在某文件存在的情況下,用函數(shù)fopen按只讀方式打開文件,打開后關(guān)閉[fid,message]=fopen('1.dat','w');[fid,message]=fopen('1.dat','r');stastus=fclose('all');5.5.2存取二進(jìn)制文件用fopen打開文件后,可fread和fwrite對(duì)二進(jìn)制文件進(jìn)行讀寫例5-27
讀取已存在文件aa.m的內(nèi)容fid=fopen('aa.m','r');data=fread(fid);disp(char(data'));例5-28
讀取文件aa.m的部分內(nèi)容fid=fopen('aa.m','r');data1=fread(fid,4);data2=fread(fid,[3,2]);disp(char(data1'));disp(char(data2'));例5-29
將矩陣寫入文件1.txtclearclca=[1,2,3;4,5,6];fid=fopen('1.txt','w');count=fwrite(fid,a,'int32');closestatus=fclose(fid)clearclcfid=fopen('1.txt','r');a=fread(fid,[23],'int32');5.5.3存取文本文件對(duì)于文本文件,可fgetl,fgets和fscanf對(duì)二進(jìn)制文件進(jìn)行讀取,其中,fgetl會(huì)舍棄換行符,則fgets保留換行符,而fscanf將輸入的文件看作是一個(gè)輸入流例5-30
讀取已存在文件aa.m的內(nèi)容fid=fopen('aa.m','
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)土壤學(xué)(養(yǎng)分管理)試題及答案
- 2025年中職電子技術(shù)(電子設(shè)備調(diào)試)試題及答案
- 2025年中職數(shù)控機(jī)床電氣控制(電路調(diào)試)試題及答案
- 2025年中職第一學(xué)年(藥學(xué))中藥鑒定基礎(chǔ)試題及答案
- 2026年廚房電器銷售(售后維修對(duì)接)試題及答案
- 2025年高職汽車電子技術(shù)(新能源汽車電子控制技術(shù))試題及答案
- 2025年大學(xué)中藥學(xué)(方劑學(xué))試題及答案
- 2025年大學(xué)裝飾工程運(yùn)營(yíng)(運(yùn)營(yíng)技術(shù))試題及答案
- 2025年高職分析化學(xué)(分析方法應(yīng)用)試題及答案
- 2025年大學(xué)大四(新能源科學(xué)與工程)新能源存儲(chǔ)技術(shù)階段測(cè)試題
- 籃球場(chǎng)工程施工設(shè)計(jì)方案
- (市質(zhì)檢二檢)福州市2024-2025學(xué)年高三年級(jí)第二次質(zhì)量檢測(cè) 歷史試卷(含答案)
- 《外科手術(shù)學(xué)基礎(chǔ)》課件
- 化學(xué)-湖南省永州市2024-2025學(xué)年高二上學(xué)期1月期末試題和答案
- 2025年貴安發(fā)展集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- DB33T 1214-2020 建筑裝飾裝修工程施工質(zhì)量驗(yàn)收檢查用表標(biāo)準(zhǔn)
- 高考語(yǔ)文復(fù)習(xí)【知識(shí)精研】鑒賞古代詩(shī)歌抒情方式 課件
- 春運(yùn)志愿者培訓(xùn)
- 語(yǔ)文-安徽省皖南八校2025屆高三上學(xué)期12月第二次大聯(lián)考試題和答案
- 養(yǎng)豬企業(yè)新員工職業(yè)規(guī)劃
- 《建筑工程設(shè)計(jì)文件編制深度規(guī)定》(2022年版)
評(píng)論
0/150
提交評(píng)論