Matlab 應(yīng)用之繪制三維圖形(基礎(chǔ)篇)
在Matlab中,三維圖形的繪制包括三維曲線,三維網(wǎng)線圖和三維曲面圖。閑話不多說,直接進(jìn)入正題。首先介紹幾個(gè)函數(shù):
1.plot3(x,y,z,…)
其中,x,y,z為維數(shù)相同的向量,分別儲(chǔ)存3個(gè)坐標(biāo)值;
2.stem3(x,y,z,…)
常用的三維火柴桿圖
3.mesh(x,y,z,…)
常用的網(wǎng)線圖調(diào)用格式;
4.surf(x,y,z,…)
常用的曲面圖調(diào)用格式;
5.contour(x,y,z,…)
常用的的等高線調(diào)用格式;
6.meshgrid(x,y)
格點(diǎn)矩陣生成函數(shù);
下面以兩個(gè)例子,熟悉上述函數(shù)的用法
例一:
繪制x=cos(t),y=sin(t),z=t所表示的曲線,其中t的范圍為[0,10pi],要求繪制三維曲線圖與三維火柴桿圖。
分析:可以看到,函數(shù)中,x,y均為z的單值函數(shù),所以用plot3和stem3就可以解決
代碼:
t=0:pi/30:10*pi; %設(shè)定t的范圍
plot3(cos(t),sin(t),t,'-b','LineWidth',4); %繪制三維曲線,并且做修飾
grid on %加網(wǎng)格
axis square %命令坐標(biāo)為方形
figure(2) %新建圖形窗口
stem3(cos(t),sin(t),t,'-.g') %繪制三維火柴桿圖
結(jié)果:
圖1. 例一結(jié)果圖(三維曲線圖)

圖2. 例一結(jié)果圖(三維火柴桿圖)
例二:
繪制二元方程
所表示的三維曲面,其中x,y的范圍為[-8,8],要求繪制三維曲面圖,三維網(wǎng)線圖,三維等高線圖。
分析:可以看出,函數(shù)中,z為與x,y都相關(guān)的函數(shù),所以此處需要用meshgrid函數(shù)先構(gòu)成格點(diǎn)矩陣
代碼:
x=-8:0.5:8; % x范圍
y=-8:0.5:8; % y范圍
[xx,yy]=meshgrid(x,y); %構(gòu)成格點(diǎn)矩陣
c=sqrt(xx.^2+yy.^2)+eps; %計(jì)算z的分母,為避免為0,加eps
z=sin(c)./c; %計(jì)算z
subplot(2,2,1)
surf(xx,yy,z);title('Surfplot'); %子圖1,繪制三維圖形
subplot(2,2,2)
mesh(xx,yy,z);title('Meshplot'); %子圖2,繪制三維曲面
subplot(2,2,3)
surf(xx,yy,z);title('Surplot with shading interp'); %子圖3,繪制三維曲面,表面為光滑
shading interp;
subplot(2,2,4)
contour(xx,yy,z);title('Meshplot'); %子圖4,繪制等高曲線
結(jié)果:

圖 3. 例二結(jié)果圖
希望大家能認(rèn)真體會(huì)以上兩個(gè)例子,現(xiàn)在給出一個(gè)思考題,如果能畫出來的話,說明你已經(jīng)掌握了這一技能,答案我將在下一期的帖子給出。
思考題:
給出一組數(shù)據(jù),如下表所示,做出其三維曲面圖

圖 4.思考題數(shù)據(jù)截圖

圖 5.思考題答案圖
注:本貼提及的程序及思考題數(shù)據(jù)位置為:http://www.yqgqt.org.cn/content/doc/280286
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺(tái)客服
TOP




















