版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
chapter3
MATLAB預(yù)備技能與技巧MATLAB具有強(qiáng)大的三維作圖功能,提供了非常好的可視化效果。
Bessel函數(shù)及其特性
.……………1MATLAB的三維曲線作圖.………1MATLAB的三維曲面作圖.………1MATLAB的動(dòng)畫制作.……………1contentsBessel函數(shù)及其特性MATLAB的三維曲線作圖
基本三維曲線主函數(shù)為:plot3()三維枝干圖主函數(shù)為:stem3()三維箭頭圖主函數(shù)為:quiver3()plot3()plot3(X1,Y1,Z1,...)X1,Y1,Z1是3個(gè)相同長度的向量。調(diào)用plot3()函數(shù)將繪制一條三維曲線,曲線上的點(diǎn)的坐標(biāo)分別為向量X1,Y1,Z1的相應(yīng)元素。t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)axissquaregridonxlaber('x'),ylaber('y'),zlaber('z')如果plot3()函數(shù)的參數(shù)為3個(gè)相同大小的矩陣,就能繪制出這些矩陣的列的三維曲線。[X1,Y1]=meshgrid([-2:0.1:2]);Z1=X1.*exp(-X1.^2-Y1.^2);plot3(X1,Y1,Z1)gridonxlaber('x'),ylaber('y'),zlaber('z')MATLAB中,stem3()函數(shù)用于繪制起點(diǎn)在Oxy平面的三維枝干圖。該函數(shù)只帶一個(gè)向量參數(shù)時(shí),MATLAB將只在x=1(該參數(shù)向量為列向量時(shí))或y=1出繪制一行枝干圖。stem3(z)stem3(x,
y,
z,
'linestyleorcolorormaket',
'fill')stem3()t=(0:127)/128*2*pi;%計(jì)算復(fù)平面上的單位圓x=cos(t);y=sin(t);z=(abs(fft(ones(10,1),128)));%計(jì)算頻率相應(yīng)的賦值stem3(x,y,z,'o')xlabel('實(shí)部')%在x軸標(biāo)注“實(shí)部”ylabel('虛部')%在y軸標(biāo)注“虛部”zlabel('幅值')%在z軸標(biāo)注“幅值”title('頻率響應(yīng)')%在圖形上方標(biāo)注標(biāo)題利用三維枝干圖顯示快速傅里葉變換的計(jì)算過程。用三維箭頭圖顯示拋物過程中的速度向量stem3()vx=2;%x方向速度vy=3;%y方向速度vz=10;%z方向速度a=-32;%z方向加速度
t=0:.1:1;%時(shí)間x=vx*t;%x方向位移y=vy*t;%y方向位移z=vz*t+1/2*a*t.^2;%z方向位移u=gradient(x);%x方向梯度v=gradient(y);%y方向梯度w=gradient(z);%z方向梯度%設(shè)置視角和標(biāo)注scale=0;quiver3(x,y,z,u,v,w,scale)view([7018])MATLAB的三維曲面作圖
在MATLAB中,更強(qiáng)的三維畫圖函數(shù)可生成曲面圖,三維等高線圖,立體圖以及這些基本圖形的變形和特殊化處理。[X,Y]=meshgrid(-8:.5:8);R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;mesh(X,Y,Z,'EdgeColor','black')mesh(Z)/surf(Z)surf(X,Y,Z)colormaphsv%當(dāng)前圖形的顏色映射表colorbar%在圖像旁顯示高度彩色條surfc(X,Y,Z)%繪制帶等高線的曲面圖surfl(X,Y,Z)%繪制帶被光線照射帶陰影的曲面圖colormaphsv%顏色映射表,有jet,hsv,cool,spring,summer,autumn,gray等
shadingfaceted%網(wǎng)格修飾,缺省方式shadingflat%去掉黑色線條,根據(jù)小方塊的值確定顏色shadinginterp%顏色整體改變,根據(jù)小方塊四角的值差補(bǔ)過度點(diǎn)的值確定顏色ezplot3(FUNX,FUNY,FUNZ,[TMIN,TMAX])%在[TMIN,TMAX]范圍下繪制三維曲線ezmesh(FUN,DOMAIN)%在DOMAIN指定的區(qū)域繪制FUN的二元函數(shù)網(wǎng)線圖ezmeshc(FUN,DOMAIN)%在ezmesh()函數(shù)作圖的基礎(chǔ)上增加x-y平面疊加等高線ezsurf(FUN,DOMAIN)%在DOMAIN指定的區(qū)域繪制FUN指定的二元函數(shù)的表面圖ezsurfc(FUN,DOMAIN)%在ezsurf()作圖的基礎(chǔ)上增加x-y平面疊加繪制的等高線用于輪廓繪制等高線圖的作圖函數(shù),也叫二維半作圖,一般對(duì)離散數(shù)據(jù)畫圖,等高線數(shù)量設(shè)置越多,畫出來的圖月平滑漂亮pcolor()[X,Y]=meshgrid(-8:.5:8);R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;[C,h]=contourf(X,Y,Z);colormapgraycolorbarset(h,'ShowText','on','TextStep',get(h,'LevelStep'))特殊的MATLAB三維曲面作圖subplot(2,2,1),sphere(4),title('N=4')subplot(2,2,2),sphere(8),title('N=8')subplot(2,2,3),sphere,title('N=20')subplot(2,2,4),sphere(40),title('N=40')MATLAB提供了球形和柱面形等特殊的三維曲面繪制函數(shù),只需調(diào)用sphere()函數(shù)和cylinder()函數(shù)就可得到。[X,Y,Z]=sphere(n)該函數(shù)將產(chǎn)生3個(gè)(n+1)*(n+1)的矩陣X,Y,Z,用戶可以采用生成的三維矩陣來繪制一個(gè)圓心位于原點(diǎn),半徑為1的單位球面。subplot(2,2,1),sphere(4),title('N=4')subplot(2,2,2),sphere(8),title('N=8')subplot(2,2,3),sphere,title('N=20')subplot(2,2,4),sphere(40),title('N=40')柱面體(錐面體)也可以通過調(diào)用cylinder()函數(shù)來繪制,[X,Y,Z]=cylinder(r,n)其中r為一個(gè)向量,分別存放在柱面上各個(gè)層上的半徑,例如:[x,y,z]=cylinder(1.1+sin(0:0.25:2*pi));surf(x,y,z)colorbarMATLAB的動(dòng)畫制作MATLAB也具有強(qiáng)大的動(dòng)畫制作功能,通過將科學(xué)計(jì)算和動(dòng)畫作圖結(jié)合起來進(jìn)行生動(dòng)展示。MATLAB中實(shí)現(xiàn)動(dòng)畫的方法主要有三種質(zhì)點(diǎn)動(dòng)畫擦除動(dòng)畫電影動(dòng)畫質(zhì)點(diǎn)動(dòng)畫質(zhì)點(diǎn)動(dòng)畫是用comet(),comet3()等函數(shù)繪制彗星圖,能夠演示一個(gè)質(zhì)點(diǎn)的運(yùn)動(dòng),comet()是二維,comet3()是三維。comet(y)顯示質(zhì)點(diǎn)繞向量y,comet(x,y)顯示質(zhì)點(diǎn)繞向量y與x,comet(x,y,p)中p為軌跡尾巴的長度。vx=100*cos(1/3*pi);vy=100*sin(1/3*pi);t=0:0.005:18;x=vx*t;y=vy*t-9.8*t.^2/2;comet(x,y)擦除動(dòng)畫在圖形窗口中按照一定的算法連續(xù)擦除和重繪圖形,運(yùn)行結(jié)果表現(xiàn)為動(dòng)畫形式,這在MATLAB運(yùn)用十分廣泛。使用MATLAB繪圖函數(shù)不斷重復(fù)繪制圖形,重繪過程中遞增式地改變圖形對(duì)象位置將產(chǎn)生動(dòng)畫效果,這是因?yàn)閷?duì)原來的圖形對(duì)象進(jìn)行了擦除處理。MATLAB中創(chuàng)建擦除重繪動(dòng)畫的過程分為以下三步:第一步:設(shè)置重繪對(duì)象的擦除模式“EraseMode”模式。
“EraseMode”擦除屬性有三種:none:重繪圖形對(duì)象時(shí)不擦除原來的對(duì)象,可用于動(dòng)態(tài)顯示圖形的生成過程,如曲線或旋轉(zhuǎn)曲面的生成過程。background:在重新繪制圖形之前,用背景色重繪來達(dá)到擦除的效果。xor:在重繪圖形之前,只擦除原來的對(duì)象,不擦除其他對(duì)象或圖形。這種能產(chǎn)生圖形對(duì)象移動(dòng)的效果。第二步:在循環(huán)語句中使用set更改圖形的xdata,ydata和zdata等坐標(biāo)數(shù)據(jù)。第三步:使用drawnow命令刷新屏幕。電影動(dòng)畫要生成電影動(dòng)畫,首先需要保存想要產(chǎn)生動(dòng)畫的圖片,儲(chǔ)存為一系列各種類型的二維,三維圖,再像放電影的方式按順序播放出來,步驟是由getframe()函數(shù)將當(dāng)前的圖片抓取為電影的畫面,再由move()函數(shù)將動(dòng)畫顯示出來。getfram()用于獲得當(dāng)前坐標(biāo)軸的圖像信息。所有的信息將匯集成一個(gè)或者一系列特殊的數(shù)據(jù),因此往往需要建立一個(gè)特殊的矩陣來存儲(chǔ)這些數(shù)據(jù)。儲(chǔ)存好后,就可以用movie()函數(shù)來“播放”這個(gè)特殊矩陣了。特殊矩陣的創(chuàng)建:一般是在循環(huán)中新建矩陣,將每一個(gè)循環(huán)的圖片狀態(tài)存儲(chǔ)到矩陣相應(yīng)的元素中,形式如下:fork=m:n.......%這里是圖像繪制部分frame(k)=getframe;endmovie()函數(shù)的用法比較簡單,一般是:movie(frame) %播放framemovie(frame,n) %將frame播放n遍movie(frame,n,fps) %將frame以每秒fps幀的速度播放n遍顯示山峰波動(dòng)的動(dòng)畫:Z=peaks;figure('Renderer','zbuffer');surfc(Z);axistightmanual;set(gca,'NextPlot','replaceChildren');forj=1:20surfc(sin(2*pi*j/20)*Z)F(j)=getframe;endmovie(F,20)%播放動(dòng)畫20次avi和gif動(dòng)畫的制作MATLAB動(dòng)畫保存只對(duì)電影動(dòng)畫有意義,前兩種都是實(shí)時(shí)動(dòng)畫,一眨眼運(yùn)行完就過去了,電影動(dòng)畫時(shí)將動(dòng)畫一幀一幀保存下來,在用movie()播放,可以播放無數(shù)次,但是一位離不開MATLAB的環(huán)境,所以還是很不方便,比如在PPT或者其他應(yīng)用環(huán)境中展示很不方便,所以我們需要有一種可以保存為avi或者gif動(dòng)畫的方法。avifile()用來創(chuàng)建一個(gè)avi文件getframe()用來吧新的視頻幀加入到avi文件中clc,clear,closeall;fig=figure;%設(shè)置生成的avi文件名aviobj=avifile('example_movie.avi');n=100;t=0:2*pi/n:2*pi;x=cos(t);y=sin(t);fork=1:nx(k)=cos(t(k));y(k)=sin(t(k));H=plot(x,y,x(k),y(k),'or',x(k),-y(k),'ob');axisequalgridonMOV=getframe(fig);aviobj=addframe(aviobj,MOV);endclose(fig)aviobj=close(aviobj)用avi格式可以十分清楚地展示生成的動(dòng)畫,但是avi格式文件對(duì)于很多情況下還是顯得不方便,MATLAB還能生成更加簡便的gif動(dòng)態(tài)圖片,在使用和傳輸時(shí)候更加簡便,缺點(diǎn)是gif動(dòng)畫都是8位色(即256種顏色)顯示的。MATLAB中生成gif圖有兩個(gè)關(guān)鍵:首先是圖像數(shù)據(jù),要準(zhǔn)備多幅同樣大小的圖像或者將圖像變化過程記錄下來,其次是正確調(diào)用imwrite()函數(shù),主要有兩個(gè)屬性:DelayTime(控制圖像切換的間隔)和LoopCount(設(shè)置圖像默認(rèn)的循環(huán)次數(shù),默認(rèn)是無窮,手動(dòng)設(shè)置時(shí),0是一次,1是兩次)clc,clear,closeall;set(gca,'nextplot','replacechildren','box','off','color','w');%生成動(dòng)畫numFrames=30;fork=1:numFramesplot(fft(eye(k+16)));axis([-1.1.-1.1.]);axisequalf(k)=getframe(gcf);%構(gòu)造gif圖像的幀endmovie(f,5)%播放動(dòng)畫5次%將動(dòng)畫儲(chǔ)存為gif文件并播放animated(1,1,1,numFrames)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 病號(hào)角色護(hù)理
- 2024房地產(chǎn)公司人力資源開發(fā)人員勞動(dòng)合同3篇
- 2024版健身房更衣室裝修合同3篇
- 2024年航空貨運(yùn)安全條約3篇
- 2025版養(yǎng)老產(chǎn)業(yè)股東出資合作協(xié)議3篇
- 功夫熊貓觀后感15篇
- 二零二五年度醫(yī)療機(jī)構(gòu)醫(yī)療廢物處理保密協(xié)議3篇
- 二零二五年度廠房改造及土地使用權(quán)轉(zhuǎn)讓合同示范文本3篇
- 醫(yī)院醫(yī)保人員工作總結(jié)范文(7篇)
- 關(guān)于學(xué)期工作計(jì)劃模板錦集9篇
- 土建定額培訓(xùn)課件
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實(shí)踐指導(dǎo)材料之13:“6策劃-6.2創(chuàng)新目標(biāo)及其實(shí)現(xiàn)的策劃”(雷澤佳編制-2025B0)
- 二年級(jí)上冊(cè)《語文園地八》日積月累
- 2024年保護(hù)環(huán)境的建議書范文(33篇)
- ICD-10疾病編碼完整版
- 帆軟BIFineBI技術(shù)白皮書
- 絞車斜巷提升能力計(jì)算及絞車選型核算方法
- 6_背景調(diào)查表
- 畢業(yè)設(shè)計(jì)(論文)礦泉水瓶吹塑模設(shè)計(jì)
- 在離退休老干部迎新春座談會(huì)上的講話(通用)
- 圍擋計(jì)算書版
評(píng)論
0/150
提交評(píng)論