當前位置:編程學習大全網 - 圖片素材 - 如何利用matlab畫出立體像

如何利用matlab畫出立體像

文章出處:/content/post/280288

在Matlab中,三維圖形的繪制包括三維曲線,三維網線圖和三維曲面圖。閑話不多說,直接進入正題。首先介紹幾個函數:

1.plot3(x,y,z,…)

其中,x,y,z為維數相同的向量,分別儲存3個坐標值;

2.stem3(x,y,z,…)

常用的三維火柴桿圖

3.mesh(x,y,z,…)

常用的網線圖調用格式;

4.surf(x,y,z,…)

常用的曲面圖調用格式;

5.contour(x,y,z,…)

常用的的等高線調用格式;

6.meshgrid(x,y)

格點矩陣生成函數;

下面以兩個例子,熟悉上述函數的用法

例壹:

繪制x=cos(t),y=sin(t),z=t所表示的曲線,其中t的範圍為[0,10pi],要求繪制三維曲線圖與三維火柴桿圖。

分析:可以看到,函數中,x,y均為z的單值函數,所以用plot3和stem3就可以解決

代碼:

t=0:pi/30:10*pi; %設定t的範圍

plot3(cos(t),sin(t),t,'-b','LineWidth',4); %繪制三維曲線,並且做修飾

grid on %加網格

axis square %命令坐標為方形

figure(2) %新建圖形窗口

stem3(cos(t),sin(t),t,'-.g') %繪制三維火柴桿圖

結果:

圖1. 例壹結果圖(三維曲線圖)

圖2. 例壹結果圖(三維火柴桿圖)

例二:

繪制二元方程所表示的三維曲面,其中x,y的範圍為[-8,8],要求繪制三維曲面圖,三維網線圖,三維等高線圖。

分析:可以看出,函數中,z為與x,y都相關的函數,所以此處需要用meshgrid函數先構成格點矩陣

代碼:

x=-8:0.5:8; % x範圍

y=-8:0.5:8; % y範圍

[xx,yy]=meshgrid(x,y); %構成格點矩陣

c=sqrt(xx.^2+yy.^2)+eps; %計算z的分母,為避免為0,加eps

z=sin(c)./c; %計算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,繪制等高曲線

結果:

圖 3. 例二結果圖

希望大家能認真體會以上兩個例子,現在給出壹個思考題,如果能畫出來的話,說明妳已經掌握了這壹技能,答案我將在下壹期的帖子給出。

思考題:

給出壹組數據,如下表所示,做出其三維曲面圖

圖 4.思考題數據截圖

圖 5.思考題答案圖

  • 上一篇:大太監的劇情簡介
  • 下一篇:怎麽恢復微信聊天記錄的內容
  • copyright 2024編程學習大全網