matlab三维绘图命令和演示Word格式文档下载.docx
《matlab三维绘图命令和演示Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《matlab三维绘图命令和演示Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
![matlab三维绘图命令和演示Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-11/27/cd054fb2-693a-444e-9c52-7d987c71f6b5/cd054fb2-693a-444e-9c52-7d987c71f6b51.gif)
contour3
绘制等高线
水流效果
waterfall
在x方向或y方向产生水流效果
影像表示
pcolor
在二维平面中以颜色表示曲面的高度
2基本XYZ立体绘图命令
mesh和plot是三度空间立体绘图的基本命令,mesh可画出立体网状图,plot则可画出立体曲面图,两者产生的图形都会依高度而有不同颜色。
下列命令可画出由函数形成的立体网状图:
x=linspace(-2,2,25);
%在x轴上取25点
y=linspace(-2,2,25);
%在y轴上取25点
[xx,yy]=meshgrid(x,y);
%xx和yy都是25x25的矩阵
zz=xx.*exp(-xx.^2-yy.^2);
%计算函数值,zz也是21x21的矩阵
mesh(xx,yy,zz);
%画出立体网状图
surf和mesh的用法类似:
%在y轴上取25点
%xx和yy都是25x25的矩阵zz=xx.*exp(-xx.^2-yy.^2);
%计算函数值,zz也是25x25的矩阵surf(xx,yy,zz);
%画出立体曲面图
个凹凸有致的
peaks
为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生
曲面,包含了三个局部极大点及三个局部极小点,其方程式为:
要画出此函数的最快方法即是直接键入peaks:
1/3*exp(-(x+1).^2-y.^2)
meshz可将曲面加上围
我们亦可对peaks函数取点,再以各种不同方法进行绘图。
裙:
[x,y,z]=peaks;
meshz(x,y,z);
waterfall(x,y,z);
下列命令产生在y方向的水流效果:
waterfall(x'
y'
z'
);
meshc同时画出网状图与等高线:
meshc(x,y,z);
surfc(x,y,z);
contour3画出曲面在三度空间中的等高线:
contour3(peaks,20);
contour画出曲面等高线在XY平面的投影:
contour(peaks,20);
t=linspace(0,20*pi,501);
plot3(t.*sin(t),t.*cos(t),t);
亦可同时画出两条三度空间中的曲线:
t=linspace(0,10*pi,501);
plot3(t.*sin(t),t.*cos(t),t,t.*sin(t),t.*cos(t),-t);
3三维绘图的主要功能绘制三维线图
绘制等高线图
绘制伪彩色图绘制三维网线图
绘制三维曲面图、柱面图和球面图
绘制三维多面体并填充颜色
(1)三维线图
plot3——基本的三维图形指令调用格式:
plot3(x,y,z)——x,y,z是长度相同的向量plot3(X,Y,Z)——X,Y,Z是维数相同的矩阵plot3(x,y,z,s)——带开关量plot3(x1,y1,z1,?
s1?
x2,y2,z2,?
s2?
⋯)二维图形的所有基本特性对三维图形全都适用。
定义三维坐标轴大小axis([xminxmaxyminymaxzminzmax])gridon(off)绘制三维网格text(x,y,z,,string?
)三维图形标注子图和多窗口也可以用到三维图形中
例:
绘制三维线图t=0:
pi/50:
10*pi;
plot3(t,sin(t),cos(t),?
r:
?
)
(2)三维饼图
pie3([43689])
(3)三维多边形
fill3=fill——三维多边形的绘制和填色与二维多边形完全相同调用格式:
fill3(x,y,z,,s?
)——与二维相同
用随机顶点坐标画出5个粉色的三角形,并用黄色的○表示顶点y1=rand(3,5);
y2=rand(3,5);
y3=rand(3,5);
fill3(y1,y2,y3,?
m?
holdon;
plot3(y1,y2,y3,?
yo?
四)三维网格图
mesh——三维网线绘图函数
调用格式:
mesh(z)——z为n×
m的矩阵,x与y坐标为元素的下标mesh(x,y,z)——x,,y,z分别为三维空间的坐标位置例,矩阵的三维网线图
z=rand(6);
0.8808
0.0729
0.4168
0.7694
0.3775
0.4776
0.3381
0.7101
0.0964
0.6352
0.3826
0.7086
0.1895
0.8791
0.6747
0.8965
0.6876
0.2380
0.7431
0.3594
0.5626
0.8784
0.1217
0.3910
0.7189
0.0899
0.8130
0.4865
0.0768
0.9759
0.8792
0.1610
0.8782
0.1131
0.1433
0.6288
z=round(z)
1
mesh(z);
8阶hadamard矩阵的网线图h2=[11;
1-1];
h4=[h2h2;
h2-h2]h8=[h4h4;
h4-h4]
-1
1111-1-1-1-1
1-11-1-11-11
11-1-1-1-111
1-1-11-111-1
mesh(h8)生成坐标——[X,Y]=meshgrid(x,y)表达式点运算——Z=X.^2+Y.^2X,Y是n×
m的矩阵,维数可任定X—n
Y—m
Z—默认方位角:
37。
5o,俯角30o。
meshgrid——网线坐标值计算函数z=f(x,y)—根据x,y坐标找出z的高度例:
绘制z=x2+y2的三维网线图形
x=-5:
5;
y=x;
[X,Y]=meshgrid(x,y)
Z=X.^2+Y.^2mesh(X,Y,Z)colormap([R,G,B])——色图设定函数matlab的颜色数据集合为红、绿、兰三颜色矩阵[R,G,B],维数m×
3r,g,b在[01]区间连续取值,理论上颜色种类可达无穷多种matlab使用三维向量表示一种颜色,常用颜色数据见下表
饱和色
[000]—黑色
[001]—兰色
[010]—绿色
[011]—浅兰
[100]—红色
[101]—粉红
[110]—黄色
[111]—白色
调和色
[0.50.505]
—灰色
[0.500]—
暗红色
[10.620.4]
—铜色
[0.4910.8]
—浅绿
[0.4910.83]—宝石兰
(5)三维曲面图
z轴按每
surf——三维曲面绘图函数,与网格图看起来一样与三维网线图的区别:
网线图:
线条有颜色,空挡是黑色的(无颜色)曲面图:
线条是黑色的,空挡有颜色(把线条之间的空挡填充颜色,沿一网格变化
surf(x,y,z)——绘制三维曲面图,x,y,z为图形坐标向量例:
[X,Y,Z]=peaks(30)
※peaks为matlab自动生成的三维测试图形surf(X,Y,Z)
三维网线图作图要领surfc(X,Y,Z)—带等高线的曲面图[X,Y,Z]=peaks(30);
surfc(X,Y,Z)surfl(X,Y,Z)——被光照射带阴影的曲面图[X,Y,Z]=peaks(30);
surfl(X,Y,Z)cylinde(r,n)—三维柱面绘图函数
r为半径;
n为柱面圆周等分数例:
绘制三维陀螺锥面t1=0:
0.1:
0.9;
t2=1:
2;
r=[t1-t2+2];
[x,y,z]=cylinder(r,30);
surf(x,y,z);
grid
为球面等分数,缺省为20例:
绘制三维球面[x,y,z]=sphere(30);
surf(x,y,z);
(6)图形修饰方法
a.图形颜色的修饰
也可称
matlab有极好的颜色表现功能,其颜色数据又构成了一维新的数据集合,为四维图形
colormap(MAP)——色图设定函数,MAP为m×
3维色图矩阵图形颜色可根据需要任意生成,也可用matlab配备的色图函数matlab的色图函数:
hsv——gray——
饱和值色图
线性灰度色图
hot——
暖色色图
cool——
冷色色图
bone—
—兰色调灰色图
copper—
—铜色色图
pink——
粉红色图
prism—
—光谱色图
jet——
饱和值色图II
flag——
红、白、蓝交替色图
shadingfaceted—网格修饰,缺省方式
shadingflat——去掉黑色线条,根据小方块的值确定颜色
shadinginterp——颜色整体改变,根据小方块四角的值差补过度点的值确定颜色
b.图形效果修饰透视与消隐——用于网线图裁剪修饰——用于网线图、曲面图视角修饰——观察不同角度的三维视图其它修饰:
i.水线修饰
ii.等高线修饰
透视与消隐p=peaks(30);
mesh(p;
)hiddenon视角修饰(函数view(az,el))
az方位角;
el俯视角
省缺值为:
az=-37.5;
el=30例。
观察不同视角的波峰图形z=peaks(40);
subplot(2,2,1);
mesh(z);
subplot(2,2,2);
view(-15,60);
subplot(2,2,3);
view(-90,0);
subplot(2,2,4);
view(-7,-10);
其它修饰:
i.水线修饰(waterfall)waterfall(peaks(30))
二维contour(Z,n)绘制n条等高线
Clable(c)给等高线加标注
例、在二维平面上绘制peaks函数的10条等高线contour(peaks,10);
C=contourc(peaks,10);
clabel(C)
(7)伪彩色图
pcolor——常用于以二维平面图表现三维图形的效果,度。
(8)动画效果
用颜色表示三维图形的高
getframe
动画生成的步骤创建帧矩阵——moviein对动画中的每一帧生成图形,并把它们放到帧矩阵中从帧矩阵中回放动画