版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2024/1/23MATLAB繪圖與可視化天津科技大學(xué)數(shù)學(xué)系謝中華E-mail:xiezhh@MATLAB從零到進(jìn)階2024/1/23MATLAB設(shè)有大量函數(shù)和命令來繪制出各種各樣的圖形,具有強(qiáng)大的繪圖功能2024/1/232024/1/23主要內(nèi)容圖形對(duì)象與圖形句柄
二維圖形繪制三維圖形繪制圖形的打印和輸出動(dòng)畫制作2024/1/23第一節(jié)圖形對(duì)象與圖形對(duì)象句柄2024/1/23一、什么是圖形對(duì)象與圖形句柄
圖形窗口、線條、曲面和注釋等都被看作是MATLAB中的圖形對(duì)象,所有這些圖形對(duì)象都可以通過一個(gè)被稱為“句柄值”的東西加以控制,例如可以通過一個(gè)線條的句柄值來修改線條的顏色、寬度和線型等屬性。這里所謂的“句柄值”其實(shí)就是一個(gè)數(shù)值,每個(gè)圖形對(duì)象都對(duì)應(yīng)一個(gè)唯一的句柄值,它就像一個(gè)指針,與圖形對(duì)象一一對(duì)應(yīng)。例如可以通過命令h=figure返回一個(gè)圖形窗口的句柄值。2024/1/23句柄式圖形對(duì)象繼承關(guān)系圖Parent(父)Children(子)2024/1/23二、獲取圖形對(duì)象屬性名稱和屬性值>>h=line([01],[01])h=0.0149>>get(h)2024/1/23三、設(shè)置圖形對(duì)象屬性值>>subplot(1,2,1);
>>h1=line([01],[01]);>>text(0,0.5,'未改變線寬');>>subplot(1,2,2);>>h2=line([01],[01]);>>set(h2,'LineWidth',3)>>text(0,0.5,'已改變線寬');2024/1/23第二節(jié)二維圖形繪制2024/1/23一、基本二維繪圖函數(shù)MATLAB中提供了plot,loglog,semilogx,semilogy,polar,plotyy
等6個(gè)非常實(shí)用的基本二維繪圖函數(shù),下面重點(diǎn)介紹plot函數(shù)的用法2024/1/231.plot函數(shù)plot(Y)plot(X,Y)plot(X1,Y1,X2,Y2,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName',PropertyValue,...)plot(axes_handle,...)h=plot(...)hlines=plot('v6',...)
調(diào)用格式:2024/1/23【例3.2-0】給定橫縱坐標(biāo)數(shù)據(jù),繪制線圖xy123577.586.5775.5468102>>x=[11.523577.5810];>>y=[256.5775.5468];>>plot(x,y)1.552024/1/23【例3.2-1】同時(shí)繪制多條線>>x=[3,5,9;3,10,67;3,23,90];x=3593106732390>>plot(x)第一列第二列第三列2024/1/23>>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,’r-*’)x1,y1-1x,y三列2024/1/23線型、描點(diǎn)類型、顏色參數(shù)表
線條屬性的修改色彩字符說明線型字符說明描點(diǎn)類型說明描點(diǎn)類型說明r紅-實(shí)線(默認(rèn)).點(diǎn)<左三角形g綠--虛線o圓s方形b藍(lán):點(diǎn)線x叉號(hào)d菱形c青-.點(diǎn)劃線+加號(hào)P五角星m品紅*星號(hào)h六角星y黃v下三角形k黑^上三角形w白>右三角形2024/1/23【例3.2-2】畫標(biāo)準(zhǔn)正態(tài)分布的密度函數(shù)圖像。>>x=-3:0.25:3;>>y=normpdf(x,0,1);>>plot(x,y,'-ro',...'LineWidth',2,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.49,1,0.63],...'MarkerSize',12)>>xlabel('X');ylabel('Y');2024/1/232024/1/232.loglog函數(shù):雙對(duì)數(shù)坐標(biāo)繪圖>>x=logspace(-1,2);>>loglog(x,exp(x),'-s')>>gridon%為X軸,Y軸加標(biāo)簽>>xlabel('X');ylabel('Y');2024/1/233.semilogx,semilogy函數(shù):半對(duì)數(shù)坐標(biāo)繪圖>>x=0:0.1:10;>>semilogy(x,10.^x)>>xlabel('X');ylabel('Y');2024/1/234.polar函數(shù):極坐標(biāo)繪圖>>t=0:0.01:2*pi;>>polar(t,sin(2*t).*cos(2*t),'--r')2024/1/235.plotyy函數(shù):雙縱坐標(biāo)繪圖>>x=0:0.01:20;>>y1=200*exp(-0.05*x).*sin(x);
>>y2=0.8*exp(-0.5*x).*sin(10*x);>>ax=plotyy(x,y1,x,y2,'plot');xlabel('X');>>set(get(ax(1),'Ylabel'),'string','LeftY');>>set(get(ax(2),'Ylabel'),'string','RightY');2024/1/23雙縱坐標(biāo)繪圖2024/1/23二、二維圖形修飾和添加注釋
可以通過MATLAB命令對(duì)圖形進(jìn)行修飾和添加注釋,也可以通過圖形窗口的菜單項(xiàng)和工具欄完成這些工作。后者通過鼠標(biāo)點(diǎn)擊操作,相對(duì)比較簡(jiǎn)單,下面僅對(duì)相關(guān)命令進(jìn)行介紹2024/1/23PlottitleyaxislabelxaxislabelTextTick-marklabel二維繪圖的圖例標(biāo)注說明DatasymbolLegendTick-mark2024/1/23
hold函數(shù):開啟和關(guān)閉圖形窗口的圖形保持功能
axis函數(shù):設(shè)置坐標(biāo)系的刻度和顯示方式
grid函數(shù):為當(dāng)前坐標(biāo)系添加網(wǎng)格
title
函數(shù):為當(dāng)前坐標(biāo)系添加標(biāo)題
xlabel和ylabel函數(shù):為當(dāng)前坐標(biāo)軸添加標(biāo)簽
text函數(shù):在當(dāng)前坐標(biāo)系中添加文本對(duì)象(text對(duì)象)
gtext函數(shù):在當(dāng)前坐標(biāo)系中交互式添加文本對(duì)象
legend函數(shù):在當(dāng)前坐標(biāo)系中添加line對(duì)象和patch對(duì)象的圖形標(biāo)注框
annotation函數(shù):在當(dāng)前圖形窗口建立注釋對(duì)象(annotation對(duì)象)2024/1/23>>P=[31;14];>>r=5;>>[V,D]=eig(P);>>a=sqrt(r/D(1));>>b=sqrt(r/D(4));>>t=linspace(0,2*pi,60);>>xy=V*[a*cos(t);b*sin(t)];>>plot(xy(1,:),xy(2,:),'k','linewidth',3);>>h=annotation('textarrow',[0.6060.65],[0.550.65]);【例3.2-3】根據(jù)橢圓方程繪制橢圓曲線,并修飾圖形。2024/1/23>>set(h,'string','3x^2+2xy+4y^2=5','fontsize',15);>>h=title('這是一個(gè)橢圓曲線','fontsize',18,'fontweight','bold');>>set(h,'position',[-0.003456221.357691.00011]);>>axis([-1.51.5-1.21.7]);>>xlabel('X');>>ylabel('Y');2024/1/23>>a=[-19.674922.21185.0905];>>fun=@(a,x)[a(1)+a(2)/2*(x-0.17).^2+a(3)/4*(x-0.17).^4];>>x=0:0.01:1;>>y=fun(a,x);>>plot(x,y);>>xlabel('X');ylabel('Y=f(X)');>>text('Interpreter','latex',... 'String',['$$-19.6749+\frac{22.2118}{2}(x-0.17)^2'...'+\frac{5.0905}{4}(x-0.17)^4$$'],'Position',[0.05,-12],... 'FontSize',12);【例3.2-4】繪制曲線并添加曲線方程。2024/1/232024/1/23三、常用統(tǒng)計(jì)繪圖函數(shù)常用統(tǒng)計(jì)繪圖函數(shù)列表2024/1/23>>x=normrnd(0,1,1000,1);>>hist(x,20);>>xlabel('樣本數(shù)據(jù)');>>ylabel('頻數(shù)');>>figure;>>cdfplot(x);【例3.2-6】用normrnd函數(shù)產(chǎn)生1000個(gè)標(biāo)準(zhǔn)正態(tài)分布隨機(jī)數(shù),并做出頻數(shù)直方圖和經(jīng)驗(yàn)分布函數(shù)圖。2024/1/23頻數(shù)直方圖經(jīng)驗(yàn)分布函數(shù)圖2024/1/23四、特殊二維繪圖函數(shù)特殊二維繪圖函數(shù)列表2024/1/23>>subplot(3,3,1);>>f=@(x)200*sin(x)./x;>>fplot(f,[-2020]);>>title('y=200*sin(x)/x');>>subplot(3,3,2);>>ezplot('x^2+y^2=1',[-1.11.1]);>>axisequal;>>title('單位圓');>>subplot(3,3,3);>>ezpolar('1+cos(t)');>>title('心形圖');>>subplot(3,3,4);>>x=[1010202535];【例3.2-7】特殊二維圖形。2024/1/23>>name={'趙','錢','孫','李','謝'};>>explode=[00001];>>pie(x,explode,name)>>title('餅圖');>>subplot(3,3,5);>>stairs(-2*pi:0.5:2*pi,sin(-2*pi:0.5:2*pi));>>title('樓梯圖');>>subplot(3,3,6);>>stem(-2*pi:0.5:2*pi,sin(-2*pi:0.5:2*pi));>>title('火柴桿圖');>>subplot(3,3,7);>>Z=eig(randn(20,20));>>compass(Z);>>title('羅盤圖');2024/1/23>>subplot(3,3,8);>>theta=(-90:10:90)*pi/180;>>r=2*ones(size(theta));>>[u,v]=pol2cart(theta,r);>>feather(u,v);>>title('羽毛圖');>>subplot(3,3,9);>>t=(1/16:1/8:1)'*2*pi;>>fill(sin(t),cos(t),'r');>>axissquare;title('八邊形');2024/1/232024/1/23第三節(jié)三維圖形繪制2024/1/23一、常用三維繪圖函數(shù)2024/1/23>>t=linspace(0,10*pi,300);>>plot3(20*sin(t),20*cos(t),t,'r','linewidth',2);>>holdon%圖形保持>>quiver3(0,0,0,1,0,0,25,'k','filled','LineWidth',2);>>quiver3(0,0,0,0,1,0,25,'k','filled','LineWidth',2);>>quiver3(0,0,0,0,0,1,40,'k','filled','LineWidth',2);>>gridon>>xlabel('X');ylabel('Y');zlabel('Z');>>axis([-2525-2525040]);>>view(-210,30);【例3.3-1】用plot3函數(shù)繪制三維螺旋線。2024/1/23>>[x,y]=meshgrid(1:4,2:5)x=1234123412341234y=2222333344445555>>plot(x,y,'r',x',y','r',x,y,'k.','markersize',18);>>axis([0516]);>>xlabel('X');ylabel('Y');【例3.3-2】用meshgrid函數(shù)生成網(wǎng)格矩陣,并用plot函數(shù)畫出平面網(wǎng)格圖形。2024/1/23>>[X,Y]=meshgrid(-2:.2:2);>>Z=X.*exp(-X.^2-Y.^2);>>[DX,DY]=gradient(Z,0.2,0.2);>>contour(X,Y,Z);>>holdon;>>quiver(X,Y,DX,DY);>>h=get(gca,'Children');>>set(h,'Color','k');【例3.3-3】繪制三維曲面的等高線圖和梯度場(chǎng)。2024/1/23>>x=linspace(-3,3,20);>>y=linspace(-9,9,20);>>[X,Y]=meshgrid(x,y);>>Z=mvnpdf([X(:)Y(:)],[00],[12;29]);>>Z=reshape(Z,size(X));>>subplot(2,2,1);>>mesh(X,Y,Z);>>title('mesh');【例3.3-4】用mesh,surf,surfl,surfc函數(shù)繪制二元正態(tài)分布的密度函數(shù)圖。2024/1/23>>subplot(2,2,2);>>surf(X,Y,Z);>>alpha(0.5);>>title('surf');>>subplot(2,2,3);>>surfl(X,Y,Z);>>title('surfl');>>subplot(2,2,4);>>surfc(X,Y,Z);>>title('surfc');2024/1/232024/1/23>>[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]);【例3.3-5】繪制三維曲面圖z=sin(x+sin(y))-x/10。2024/1/23%繪制圓柱面>>subplot(2,2,1);>>[x,y,z]=cylinder;>>surf(x,y,z);%繪制啞鈴面>>subplot(2,2,2);>>t=0:pi/10:2*pi;>>[X,Y,Z]=cylinder(2+cos(t));>>surf(X,Y,Z);【例3.3-6】調(diào)用函數(shù)繪制柱面,球面,橢球面。2024/1/23%繪制球面,半徑為10,球心(1,1,1)>>subplot(2,2,3);>>[x,y,z]=sphere;>>surf(10*x+1,10*y+1,10*z+1);axisequal;%繪制橢球面>>subplot(2,2,4);>>a=4;b=3;>>t=-b:b/10:b;>>[x,y,z]=cylinder(a*sqrt(1-t.^2/b^2),30);>>surf(x,y,z);2024/1/232024/1/23%餅圖>>subplot(2,3,1);>>pie3([2347,1827,2043,3025]);>>title('三維餅圖');%柱狀圖>>subplot(2,3,2);>>bar3(magic(4));>>title('三維柱狀圖');【例3.3-7】繪制三維餅圖、三維柱狀圖、三維火柴桿圖、三維填充圖、三維向量場(chǎng)圖和立體切片圖(四維圖).2024/1/23%火柴桿圖>>subplot(2,3,3);>>y=2*sin(0:pi/10:2*pi);>>stem3(y);>>title('三維火柴桿圖');%填充圖>>subplot(2,3,4);>>fill3(rand(3,5),rand(3,5),rand(3,5),'y');>>title('三維填充圖');2024/1/23%三維向量場(chǎng)圖>>subplot(2,3,5);>>[X,Y]=meshgrid(0:0.25:4,-2:0.25:2);>>Z=sin(X).*cos(Y);>>[Nx,Ny,Nz]=surfnorm(X,Y,Z);>>surf(X,Y,Z);>>holdon;>>quiver3(X,Y,Z,Nx,Ny,Nz,0.5);>>title('三維向量場(chǎng)圖');>>axis([04-22-11]);2024/1/23%立體切片圖(四維圖)>>subplot(2,3,6);>>t=linspace(-2,2,20);>>[X,Y,Z]=meshgrid(t,t,t);>>V=X.*exp(-X.^2-Y.^2-Z.^2);>>xslice=[-1.2,.8,2];>>yslice=2;>>zslice=[-2,0];>>slice(X,Y,Z,V,xslice,yslice,zslice);>>title('立體切片圖(四維圖)');2024/1/232024/1/23>>ezsurf('u*sin(v)','u*cos(v)','u',[-2*pi,2*pi,-2*pi,2*pi])【例3.3-8】調(diào)用ezsurf函數(shù)繪制圓錐面2024/1/23>>ezsurf('u*sin(v)','u*cos(v)','4*v',[-2*pi,2*pi,-2*pi,2*pi])【例3.3-9】調(diào)用ezsurf函數(shù)繪制螺面2024/1/23>>ezmesh('3*cos(u)*sin(v)','2*cos(u)*cos(v)','sin(u)',[-2*pi,2*pi,-2*pi,2*pi])【例3.3-10】調(diào)用ezsurf函數(shù)繪制橢球面2024/1/23二、三維圖形的修飾和添加注釋1.繪圖色彩的調(diào)整colormap
函數(shù)
colormap(map),設(shè)置map為當(dāng)前顏色映像矩陣
colormap('default'),恢復(fù)當(dāng)前顏色映像矩陣為默認(rèn)值
cmap=colormap,獲取當(dāng)前顏色映像矩陣
colormap(ax,…),設(shè)置當(dāng)前axes對(duì)象的顏色映像矩陣MATLAB中提供了colormap函數(shù),可以根據(jù)顏色映像矩陣對(duì)圖形對(duì)象的色彩進(jìn)行調(diào)整。所謂的顏色映像矩陣就是一個(gè)的矩陣,k行表示有k種顏色,每行3個(gè)元素分別代表紅、綠、藍(lán)三元色的灰度值,取值均在[0,1]之間。map的設(shè)置有兩種,可以人為指定一個(gè)元素值均在[0,1]之間的的矩陣,也可以用MATLAB自帶的17種顏色映像矩陣。在MATLAB命令窗口分別運(yùn)行autumn、bone、colorcube、cool、copper、flag、gray、hot、hsv、jet、lines、pink、prism、spring、summer、white和winter函數(shù),就可得到這17種顏色映像矩陣2024/1/232.著色方式調(diào)整shading函數(shù)
shadingflat,平面著色,同一個(gè)小網(wǎng)格面和相應(yīng)的線段用同一種顏色著色。
shadingfaceted,類似于shadingflat,平面著色,只是網(wǎng)格線都用黑色,這是默認(rèn)著色方式。
shadinginterp,通過顏色插值方式著色。
shading(axes_handle,…),為句柄值為axes_handle的坐標(biāo)系內(nèi)的圖形對(duì)象設(shè)置著色方式。2024/1/233.透明度調(diào)整
利用alpha函數(shù)調(diào)整透明度
調(diào)用:alpha(alpha_data)
說明:alpha_data是一個(gè)介于0和1之間的數(shù),alpha_data=0表示完全透明,alpha_data=1表示完全不透明,alpha_data的值越接近于0,透明度越高
通過圖形對(duì)象的“FaceAlpha”屬性調(diào)整透明度
調(diào)用:set(h,'FaceAlpha',0.25);
說明:h為圖形對(duì)象句柄,0.25是“FaceAlpha”屬性的屬性值,由用戶隨意指定。2024/1/23>>figure;>>[X,Y,Z]=sphere;>>surf(X,Y,Z);>>colormap(lines);>>shadinginterp>>holdon;>>mesh(2*X,2*Y,2*Z)>>hiddenoff>>axisequal>>axisoff>>figure;>>surf(X,Y,Z,'FaceColor','r');>>holdon;>>surf(2*X,2*Y,2*Z,'FaceAlpha',0.4);>>axisequal>>axisoff【例3.3-11】三維圖形的透視效果2024/1/232024/1/234.光源設(shè)置與屬性調(diào)整
light函數(shù)
light('PropertyName',propertyvalue,…)
建立一個(gè)光源,并設(shè)置光源屬性(Position、Color和Style)'Position'是位置屬性,設(shè)置光源位置,其屬性值為三個(gè)元素的向量[x,y,z],即光源的三維坐標(biāo);'Color'是顏色屬性,設(shè)置光源顏色,其屬性值可以是代表顏色的字符(如表3.2-1所列),也可以是由紅、綠、藍(lán)三元色的灰度值組成的向量;'Style'是光源類型屬性,設(shè)置光源類型,其取值為字符串'infinite'或'local',分別表示平行光源和點(diǎn)光源。2024/1/23
handle=light(…)
建立一個(gè)光源,并獲取其句柄值handle,之后可以通過get(handle)查看光源的所有屬性,也可以通過set(handle,'PropertyName',propertyvalue,…)設(shè)置光源的屬性值。2024/1/235.調(diào)整光照模式
lighting函數(shù)
lightingflat,產(chǎn)生均勻光照,選擇此方法,以查看面對(duì)象,是光照模式的默認(rèn)設(shè)置。
lightinggouraud,計(jì)算頂點(diǎn)法線并作線性插值修改表面顏色,選擇此方法,以查看曲面對(duì)象。
lightingphong,做線性插值并計(jì)算每個(gè)像素的反射率來修改表面顏色,選擇此方法,以查看曲面對(duì)象。此方法比lightinggouraud的效果好,但是用于渲染的時(shí)間較長(zhǎng)。
lightingnone,關(guān)掉照明。2024/1/236.圖形表面對(duì)光照反射屬性設(shè)置material函數(shù)
materialshiny,使圖形對(duì)象有相對(duì)較高的鏡面反射,鏡面光的顏色僅取決于光源顏色。
materialdull,使圖形對(duì)象有更多的漫反射,反射光的顏色僅取決于光源顏色。
materialmetal,使圖形對(duì)象有非常高的鏡面反射和非常低的環(huán)境光及漫反射,反射光的顏色取決于光源顏色和圖形表面的顏色。2024/1/23
material([kakdks])
material([kakdksn])
material([kakdksnsc]),用ka、kd和ks分別設(shè)置圖形對(duì)象的環(huán)境光、漫反射和鏡面反射的強(qiáng)度,用鏡面指數(shù)n控制鏡面亮點(diǎn)的大小,用sc設(shè)置鏡面顏色的反射系數(shù)。ka、kd、ks、n和sc均為標(biāo)量,sc的取值介于0和1之間。
materialdefault,恢復(fù)ka、kd、ks、n和sc的默認(rèn)值。2024/1/237.調(diào)整視點(diǎn)位置
view函數(shù)
view(az,el),設(shè)置三維繪圖的視角,az是方位角,el表示相對(duì)于xoy平面的仰角,。zyx-y視點(diǎn)az方位角el仰角2024/1/23
view([x,y,z]),設(shè)置視點(diǎn)的三維直角坐標(biāo)[x,y,z].view(2),設(shè)置默認(rèn)的二維視角,az=0,el=90.view(3),設(shè)置默認(rèn)的三維視角,az=-37.5,el=30.view(ax,…),設(shè)置句柄值為ax的坐標(biāo)系的視角。
view(T),用viewmtx函數(shù)生成的的視角轉(zhuǎn)換矩陣作為輸入來設(shè)置視角。
[az,el]=view,返回當(dāng)前方向角和仰角。
T=view,返回一個(gè)的視角轉(zhuǎn)換矩陣。2024/1/23>>t=0:pi/20:2*pi;>>[x,y,z]=cylinder(2+sin(t),100);>>surf(x,y,z);>>xlabel('X');ylabel('Y');zlabel('Z');>>set(gca,'color','none');>>shadinginterp;>>colormap(copper);>>light('Posi',[-4-10]);>>lightingphong;>>materialmetal;>>holdon;>>plot3(-4,-1,0,'p','markersize',18);>>text(-4,-1,0,'光源','fontsize',14,'fontweight','bold');【例3.3-12】繪制帶光照的花瓶。2024/1/232024/1/23>>vert=[000;02000;2002000;20000;00100;0200100;200200100;2000100];>>fac=[1234;2673;4378;1584;1265;5678];>>view(3);>>h=patch('faces',fac,'vertices',vert,'FaceColor','g');>>set(h,'FaceAlpha',0.25);>>holdon;>>[x0,y0,z0]=sphere;>>x=30+30*x0;y=50+30*y0;z=50+30*z0;【例3.3-13】繪制一個(gè)透明的立方體盒子,里面放紅色、藍(lán)色和黃色三個(gè)球。2024/1/23>>h1=surf(x,y,z,'linestyle','none','FaceColor','r','EdgeColor','none');>>x=110+30*x0;y=110+30*y0;z=50+30*z0;>>h2=surf(x,y,z,'linestyle','none','FaceColor','b','EdgeColor','none');>>x=110+30*x0;y=30+30*y0;z=50+30*z0;>>h3=surf(x,y,z,'linestyle','none','FaceColor','y','EdgeColor','none');>>lightangle(45,30);>>lightingphong;>>axisequal;>>xlabel('X');ylabel('Y');zlabel('Z');2024/1/232024/1/23第四節(jié)圖形的打印和輸出2024/1/23一、把圖形復(fù)制到剪貼板1.界面操作2024/1/23
復(fù)制選項(xiàng)設(shè)置實(shí)際上在將圖形窗口中的圖形復(fù)制到剪貼板之前,還可以通過界面操作對(duì)復(fù)制選項(xiàng)進(jìn)行設(shè)置。選擇“Edit”菜單下的“CopyOptions”選項(xiàng),彈出復(fù)制選項(xiàng)界面,本界面用來設(shè)置圖形復(fù)制到剪貼板的格式(Clipboardformat)、背景顏色(Figurebackgroundcolor)和圖形尺寸(Size)。2024/1/23
復(fù)制模板設(shè)置在復(fù)制選項(xiàng)界面的左方瀏覽樹中選中FigureCopyTemplate節(jié)點(diǎn),將彈出復(fù)制模板界面。復(fù)制模板界面中給出了3個(gè)模板選項(xiàng):Word、PowerPoint和RestoreDefaults,當(dāng)需要把MATLAB圖形窗口中的圖形復(fù)制粘貼到MicrosoftWord和MicrosoftPowerPoint應(yīng)用程序時(shí),分別可以用前兩個(gè)模板,最后一個(gè)選項(xiàng)用來恢復(fù)默認(rèn)設(shè)置。2024/1/232.利用MATLAB命令進(jìn)行復(fù)制操作
print函數(shù)調(diào)用格式:printprint('argument1','argument2',...)print(handle,'filename')printargument1argument2...argumentn[pcmd,dev]=printopt2024/1/23>>h=figure;
>>ezplot('sin(x)',[0,2*pi]);
>>print(h,'-dmeta')
【例3.4-1】調(diào)用print函數(shù)復(fù)制圖形到剪貼板。2024/1/23
hgexport函數(shù)調(diào)用格式:
hgexport(h,filename)把句柄值為h的圖形窗口中的圖形寫入默認(rèn)的eps格式文件。filename為字符串,用來指明文件名和保存路徑,如果不指明保存路徑,圖形默認(rèn)保存到MATLAB當(dāng)前文件夾。
hgexport(h,'-clipboard')把句柄值為h的圖形窗口中的圖形復(fù)制到Windows剪貼板。2024/1/23>>h=figure;
>>ezplot('sin(x)',[0,2*pi]);
>>hgexport(h,'-clipboard');
【例3.4-1續(xù)】調(diào)用hgexport函數(shù)復(fù)制圖形到剪貼板。2024/1/23二、把圖形導(dǎo)出到文件1.界面操作在MATLAB中通過界面操作可以很方便地把圖形窗口中的圖形保存為各種標(biāo)準(zhǔn)格式的圖像文件。圖形窗口的File菜單下有Save、SaveAs和ExportSetup三個(gè)選項(xiàng),均可用來將圖形窗口中的圖形導(dǎo)出到文件。2024/1/232.利用MATLAB命令把圖形導(dǎo)出到文件
print函數(shù)調(diào)用格式:printprint('argument1','argument2',...)print(handle,'filename')printargument1argument2...argumentn[pcmd,dev]=printopt2024/1/23>>h=figure;
>>ezplot('sin(x)',[0,2*pi]);
>>print(h,'-djpeg','示例1.jpg')
【例3.4-2】調(diào)用print函數(shù)保存圖形。2024/1/23
hgexport函數(shù)調(diào)用格式:
hgexport(h,filename)把句柄值為h的圖形窗口中的圖形寫入默認(rèn)的eps格式文件。filename為字符串,用來指明文件名和保存路徑,如果不指明保存路徑,圖形默認(rèn)保存到MATLAB當(dāng)前文件夾。
hgexport(h,'-clipboard')把句柄值為h的圖形窗口中的圖形復(fù)制到Windows剪貼板。2024/1/23>>h=figure;
>>ezplot('sin(x)',[0,2*pi]);
>>hgexport(h,'示例.eps')【例3.4-2續(xù)】調(diào)用hgexport函數(shù)保存圖形。2024/1/23
saveas函數(shù)調(diào)用格式:
saveas(h,'filename.ext')把句柄值為h的圖形或句柄值為h的Simulink模塊圖保存為文件filename.ext。文件格式取決于文件的擴(kuò)展名ext。
saveas(h,'filename','format')把句柄值為h的圖形或句柄值為h的Simulink模塊圖按指定格式保存為文件filename。參數(shù)'format'是字符串,用來指明文件擴(kuò)展名,2024/1/23>>h=figure;
>>ezplot('sin(x)',[0,2*pi]);
>>saveas(h,'示例2.jpg')【例3.4-2續(xù)】調(diào)用saveas函數(shù)保存圖形。2024/1/23三、打印圖形1.界面操作在MATLAB中繪制好圖形之后,單擊圖形窗口File菜單下的PrintPreview選項(xiàng),打開打印預(yù)覽界面,本界面用來設(shè)置打印相關(guān)屬性。設(shè)置好打印屬性之后,單擊界面左上方的SaveAs按鈕可將用戶設(shè)置保存下來以備以后使用。單擊界面右上方的Print按鈕彈出打印機(jī)屬性設(shè)置界面,在打印機(jī)屬性設(shè)置界面中選擇合適的打印機(jī),設(shè)置好打印機(jī)屬性和打印份數(shù)之后單擊“確定”按鈕即完成打印。如果在打印機(jī)屬性設(shè)置界面中勾選了“打印到文件”選項(xiàng),則可將圖形導(dǎo)出到文件。2024/1/232.利用MATLAB命令進(jìn)行打印操作
print函數(shù)調(diào)用格式:printprint('argument1','argument2',...)print(handle,'filename')printargument1argument2...argumentn[pcmd,dev]=printopt2024/1/23>>x=0:0.25:2*pi;
>>y=sin(x);>>h=plot(x,y);
>>print;
>>print-dmeta>>print-djpegheping.jpg【例3.4-3】調(diào)用print函數(shù)打印圖形。2024/1/23【注】當(dāng)MATLAB中同時(shí)打開多個(gè)圖形窗口(Figure對(duì)象)時(shí),還可利用如下命令對(duì)第i個(gè)圖形窗口中的圖形進(jìn)行打印操作:>>print-dmeta-fi>>print-djpeg-fifilename>>print-fi2024/1/23第五節(jié)動(dòng)畫制作2024/1/23一、質(zhì)點(diǎn)運(yùn)動(dòng)軌跡動(dòng)畫1.comet函數(shù)
調(diào)用格式:
comet(y)
顯示質(zhì)點(diǎn)繞著向量y的二維動(dòng)畫軌跡
comet(x,y)
顯示質(zhì)點(diǎn)繞著向量y與x的二維動(dòng)畫軌跡
comet(x,y,p)
用輸入?yún)?shù)p定義軌跡尾巴線的長(zhǎng)度
comet(axes_handle,...)
在句柄值為axes_handle的坐標(biāo)系中顯示動(dòng)畫2024/1/23>>t=linspace(0,10*pi,2000);>>x=t.*cos(t);>>y=t.*sin(t);>>comet(x,y);【例3.5-1】質(zhì)點(diǎn)繞阿基米德螺線(極坐標(biāo)方程為)運(yùn)動(dòng)的二維彗星運(yùn)行軌跡動(dòng)畫。2024/1/23
調(diào)用格式:
comet3(z)
顯示質(zhì)點(diǎn)繞著向量z的三維動(dòng)畫軌跡
comet3(x,y,z)
顯示質(zhì)點(diǎn)繞著向量x、y與z的三維動(dòng)畫軌跡
comet(x,y,z,p)
用輸入?yún)?shù)p定義軌跡尾巴線的長(zhǎng)度
comet(axes_handle,...)
在句柄值為axes_handle的坐標(biāo)系中顯示動(dòng)畫2.comet3函數(shù)2024/1/23>>t=linspace(0,10*pi,1000);>>x=20*sin(t);>>y=20*cos(t);>>z=t;>>comet3(x,y,z)【例3.5-2】質(zhì)點(diǎn)繞螺旋線運(yùn)動(dòng)的三維彗星運(yùn)行軌跡動(dòng)畫。2024/1/23二、霓虹閃爍動(dòng)畫如今繁華大都市的夜色中,霓虹閃爍,煞是好看,調(diào)用MATLAB中的spinmap函數(shù)可以做出這種效果的動(dòng)畫,它是通過旋轉(zhuǎn)顏色映像的方式來呈現(xiàn)這種霓虹閃爍的動(dòng)畫效果。2024/1/231.spinmap函數(shù)
調(diào)用格式:
spinmap,旋轉(zhuǎn)顏色映像約5秒鐘;
spinmap(t),旋轉(zhuǎn)顏色映像約t秒鐘,具體時(shí)間取決于硬件;
spinmap(t,inc),旋轉(zhuǎn)顏色映像約t秒鐘,并設(shè)置增量參數(shù)inc,該參數(shù)用來調(diào)整閃爍頻率;
spinmap(‘inf’),不限時(shí)旋轉(zhuǎn)顏色映像,若需終止,請(qǐng)按Ctrl+C鍵。2024/1/23>>sphere;>>axisequal;>>axisoff;>>spinmap(20,1);【例3.5-3】霓虹閃爍的球體。2024/1/23三、電影動(dòng)畫所謂的電影動(dòng)畫是指先把一幀幀圖片保存起來,然后再像放電影一樣把它們按次序播放出來。MATLAB中提供了getframe函數(shù)和movie函數(shù),用來制作電影動(dòng)畫。其中g(shù)etframe函數(shù)用來抓取圖形對(duì)象作為電影的幀,movie函數(shù)用來播放電影動(dòng)畫。2024/1/231.getframe函數(shù)
調(diào)用格式:
getframe
返回一個(gè)電影幀,它是當(dāng)前坐標(biāo)系或圖形窗口的快照
F=getframe
抓取當(dāng)前坐標(biāo)系作為一幀
F=getframe(h)
抓取句柄值為h的圖形對(duì)象作為一個(gè)電影幀
F=getframe(h,rect)
抓取句柄值為h的圖形對(duì)象的指定區(qū)域作為一個(gè)電影幀,rect是形如[左邊距,下邊距,寬度,高度]的向量,用來設(shè)定抓取區(qū)域2024/1/232.movie函數(shù)
調(diào)用格式:
movie(M)
在當(dāng)前坐標(biāo)系中只播放一次由矩陣M所保存的電影
movie(M,n)
播放n次,若n為負(fù)數(shù),則倒著循環(huán)播放,若n為向量,第一個(gè)元素為播放次數(shù),后續(xù)元素為幀序號(hào)
movie(M,n,fps)
每秒播放fps幀,播放n次,默認(rèn)每秒12幀2024/1/23movie(h,...)
在句柄值為h的圖形窗口或坐標(biāo)系中播放電影
movie(h,M,n,fps,loc)
在句柄值為h的圖形窗口或坐標(biāo)系的指定位置播放電影。M,n,fps的說明同上。loc是4個(gè)元素的向量[xy00],x和y用來設(shè)定幀的左下角在圖形窗口或坐標(biāo)系的位置,單位為像素2024/1/23>>x=linspace(-2,2,100);>>[X,Y,Z]=meshgrid(x,x,x);>>V=(X.^2+9/4*Y.^2+Z.^2-1).^3-X.^2.*Z.^3-9/80*Y.^2.*Z.^3;>>p=patch(isosurface(X,Y,Z,V,0));>>set(p,'FaceColor','red','EdgeColor','none');>>view(3);axisequal;axisoff;>>light('Posi',[0-23]);>>lightingphong>>set(gca,'nextplot','replacechildren');>>XX=get(p,'XData');YY=get(p,'YData');ZZ=get(p,'ZData');>>forj=1:20bili=sin(pi*j/20);set(p,'XData',bili*XX,'YData',bili*YY,'ZData',bili*ZZ)F(j)=getframe;
end>>movie(F,10)【例3.5-4】一顆跳動(dòng)的紅心。2024/1/23三、錄制AVI格式視頻動(dòng)畫MATLAB中提供了avifile函數(shù),用來把getframe函數(shù)抓取的電影幀錄制為AVI格式視頻動(dòng)畫。利用MATLAB錄制AVI格式視頻動(dòng)畫的步驟依次如下:調(diào)用avifile函數(shù)先創(chuàng)建一個(gè)空白的avifile文件。繪制視頻的每一個(gè)幀所對(duì)應(yīng)的圖形。調(diào)用getframe函數(shù)抓取當(dāng)前圖形窗口或坐標(biāo)系中的圖片。調(diào)用addframe函數(shù)把抓取的圖片添加到avifile文件中。調(diào)用close函數(shù)關(guān)閉avifile文件。2024/1/23mov=avifile('旋轉(zhuǎn)面.avi');y=1:0.01:2;z=3*(y-2).^2;x=zeros(size(y));theta=[pi/2,pi/2:pi/20:2.5*pi];figure;h=plot3(x,y,z,'k','LineWidth',2);holdonquiver3(0,0,0,1,0,0,3,'k','filled','LineWidth',2);quiver3(0,0,0,0,1,0,3,'k','fill
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教研室工作計(jì)劃(15篇)
- 軟件開發(fā)銷售代理協(xié)議(3篇)
- 高一軍訓(xùn)心得體會(huì)范文800字(33篇)
- 工作實(shí)習(xí)總結(jié)
- 銀行柜員個(gè)人工作總結(jié)
- 《哈姆雷特》讀后感(15篇)
- DB12-T 1092-2021 航空實(shí)景影像三維數(shù)據(jù)生產(chǎn)技術(shù)規(guī)程
- 山東省東營(yíng)市(2024年-2025年小學(xué)五年級(jí)語(yǔ)文)統(tǒng)編版小升初模擬(上學(xué)期)試卷及答案
- 甘肅省慶陽(yáng)市(2024年-2025年小學(xué)五年級(jí)語(yǔ)文)統(tǒng)編版隨堂測(cè)試(上學(xué)期)試卷及答案
- 2023年康養(yǎng)企業(yè)資金籌措計(jì)劃書
- 部編道德與法治小學(xué)五年級(jí)上冊(cè)《中華民族一家親》說課稿
- 玉柴任職資格管理辦法--勝任力建設(shè)必須參考該文件
- 工程趕工措施方案
- 中國(guó)煙草總公司山西省公司誠(chéng)信應(yīng)聘承諾書.doc
- 中國(guó)新聞事業(yè)發(fā)展史 第十五講改革開放與社會(huì)主義新聞事業(yè)的日趨繁榮
- SAP BATCH MANAGEMENT批次詳解及SOP
- 仙劍客棧全地圖
- 初識(shí)PS圖層蒙版教學(xué)設(shè)計(jì)
- 靜壓混凝土預(yù)制樁-鋼樁施工記錄(A4范例)
- 燃燒器控制器LFL1說明
- 92改進(jìn)型P50、9號(hào)單開道岔CZ2209A技術(shù)圖紙動(dòng)車論壇
評(píng)論
0/150
提交評(píng)論