matlab三维绘图命令和演示资料

上传人:w****i 文档编号:98754468 上传时间:2019-09-13 格式:DOC 页数:13 大小:483KB
返回 下载 相关 举报
matlab三维绘图命令和演示资料_第1页
第1页 / 共13页
matlab三维绘图命令和演示资料_第2页
第2页 / 共13页
matlab三维绘图命令和演示资料_第3页
第3页 / 共13页
matlab三维绘图命令和演示资料_第4页
第4页 / 共13页
matlab三维绘图命令和演示资料_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《matlab三维绘图命令和演示资料》由会员分享,可在线阅读,更多相关《matlab三维绘图命令和演示资料(13页珍藏版)》请在金锄头文库上搜索。

1、三维绘图1 三维绘图指令类 别指 令说 明网状图mesh, ezmesh绘制立体网状图meshc, ezmeshc绘制带有等高线的网状图meshz绘制带有“围裙”的网状图曲面图surf, ezsurf立体曲面图surfc, ezsurfc绘制带有等高线的曲面图surfl绘制带有光源的曲面图曲线图plot3, ezplot3绘制立体曲线图底层函数surfaceSurf函数用到的底层指令line3plot3函数用到的底层指令等高线contour3绘制等高线水流效果waterfall在x方向或y方向产生水流效果影像表示pcolor在二维平面中以颜色表示曲面的高度2 基本XYZ立体绘图命令l mesh

2、和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); % 画出立体网状图 l surf和mesh的用法类似: x=linspace(-2,

3、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也是25x25的矩阵 surf(xx, yy, zz); % 画出立体曲面图 l peaks为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为: 要画出此函数的最快方法即是直接键入peaks: peaks z = 3*(1-x).2.*exp(-(x.2) -

4、(y+1).2) - 10*(x/5 - x.3 - y.5).*exp(-x.2-y.2) - 1/3*exp(-(x+1).2 - y.2) l 我们亦可对peaks函数取点,再以各种不同方法进行绘图。meshz可将曲面加上围裙: x,y,z=peaks; meshz(x,y,z); l waterfall可在x方向或y方向产生水流效果: x,y,z=peaks; waterfall(x,y,z); l 下列命令产生在y方向的水流效果: x,y,z=peaks; waterfall(x,y,z); l meshc同时画出网状图与等高线: x,y,z=peaks; meshc(x,y,z);

5、 l surfc同时画出曲面图与等高线: x,y,z=peaks; surfc(x,y,z); l contour3画出曲面在三度空间中的等高线: contour3(peaks, 20); l contour画出曲面等高线在XY平面的投影: contour(peaks, 20); l plot3可画出三度空间中的曲线: 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

6、(t), t.*cos(t), -t); 3 三维绘图的主要功能绘制三维线图绘制等高线图绘制伪彩色图绘制三维网线图绘制三维曲面 图、柱面图和球面图绘制三维多面体并填充颜色(一)三维线图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,s

7、tring)三维图形标注子图和多窗口也可以用到三维图形中例:绘制三维线图t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),r:)(二)三维饼图pie3(43689)(三)三维多边形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

8、)z为nm的矩阵,x与y坐标为元素的下标mesh(x,y,z)x,y,z 分别为三维空间的坐标位置例,矩阵的三维网线图z=rand(6);0.88080.07290.41680.76940.37750.47760.33810.71010.09640.63520.38260.70860.18950.87910.67470.89650.68760.23800.74310.35940.56260.87840.12170.39100.71890.08990.81300.48650.07680.97590.87920.16100.87820.11310.14330.6288z=round(z)10010

9、0010101011110101100101001101001mesh(z);例:8阶hadamard矩阵的网线图h2=11;1-1;h4=h2h2;h2-h2h8=h4h4;h4-h4111111111-11-11-11-111-1-111-1-11-1-111-1-111111-1-1-1-11-11-1-11-1111-1-1-1-1111-1-11-111-1mesh(h8)生成坐标X,Y=meshgrid(x,y)表达式点运算Z=X.2+Y.2X,Y是nm的矩阵,维数可任 定XnYmZ默认方位角:37。5,俯角30。meshgrid网线坐标值计算函数z=f(x,y)根据x,y坐标找出

10、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,维数 m3r,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宝石兰(五)三维曲面图surf三维曲面绘图函

11、数,与网格图看起来一样与三维网线图的区别:网线图:线条有颜色,空挡是黑色的(无颜色)曲面图:线条是黑色的,空挡有颜色(把线条之间的空挡填充颜色,沿z轴按每一网格变化调用格式: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:0.1:2;r=t1-t2+2;x,y,z=cylinder(r,30);surf(x,y,z);gridn为球面等分数,缺省为20例:绘制三维球面x,y,z=sphere(30);surf(x,y,z);(六)图形修饰方法a. 图形颜色的修饰matlab有极好的颜色表现功能,其颜色数据又构成了一维新的数据集合,也可称为四维图形colormap(MAP)色图设定函数,MAP为m3维色图矩阵图形颜色可根据需要任意生成,也可

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号