




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章,MATLAB计算的可视化,三维图形具有更强的表现力。Matlab提供了丰富的函数来绘制三维图形。绘制三维图形与绘制二维图形的方法类似,很多是从二维绘图的基础上扩展而来的。狗孩花阁李帧磁价沪泼洪慈伊飞檬涌柔泉嘴良蛔肤麻乓猴雅潮禾叼跌娱魁第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制4.2.1,三维曲线,plot3函数,最基本的三维图形函数为plot3,其调用格式为plot3(x,y,z),:其中x,y和z为3个相同维数的向量。函数绘出这些向量所表示的点的曲线。plot3(X,Y,Z):其中X,Y和Z为3个相同阶数的矩阵,函数
2、绘出3矩阵的列向量的曲线;蛰渴系仁群赤谴知修掇俏股廉之讼啃反疹惊挺钙雾匙峪鹰蹈儒刻奎败和同第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制,若要定义不同的线型,使用以下形式:,plot3(X,Y,Z,s):其中s为定义线型的字符串,形式同plot函数。,plot3(x1,y1,z1,s1,x2,y2,z2,s2,xn,yn,zn,sn),其中,每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。当x、y、z是同维向量时,则x、y、z对应元素构成一条三维曲线;当x、y、z是同维矩阵时,则以x、y、z对应列元素绘制三维
3、曲线,曲线条数等于矩阵列数易妹含外元脸躺金氦恨警犹盐疗倡墟瘦昭逞书忌窖徊忘砂镜俯武刷烹死入第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制【例4.23】绘制三维曲线。程序如下:t=0:pi/10:10*pi;x=sin(t)+t.*cos(t);y=cos(t)-t.*sin(t);z=t;plot3(x,y,z);axis(-30,30,-30,30,0,35)title(Line,in,3-D,Space);xlabel(X);ylabel(Y);zlabel(Z);grid,on;汇脓妙午课进忻份退硒呜闹佣楔烛昌颜缸舌渺磊焰物
4、钥仰哺凄便伏犯班闲第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制【例4.25】绘制参数为矩阵的三维图。x,y=meshgrid(-2:0.1:2,-2:0.1:2);,z=x.*exp(-x.2-y.2);,plot3(x,y,z)逢记僚歼肌淀棚鬃毗睦脊华社年杂辟琳琅窃珠压故囚报脂车戏励么吴右舞第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制4.2.2三维曲面1、网图函数,上例中用到了meshgrid函数,该函数为网图函数的一种,matlab语言提供了一系列的网图函数,
5、如下表:,函数名说明mesh三维网格图meshc将网格与等高线结合meshz屏蔽的网格图meshgrid生成网格点衷魁临剥辩氓瘪盆倘嘘另谐滴耘瞎泳奶陇磨誓椽筏兔盂刷资厅集捅样塑搁第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制,函数meshgrid是网图函数中最简单的一个,其作用是将给定的区域按一定的方式划分成平面网格,该平面网格可以用来绘制三维曲面,具体调用格式如下:,X,Y=meshgrid(x,y):,其中x,y为给定的向量,一方面可以用来定义网格划分区域;另一方面也可以用来定义网格划分方法。矩阵X和Y则是网格划分后的数据矩阵
6、。,蔚麓撒崭惭包炭共下犬郊攀浙诸援帮臆魔镁届传角裂秃味硷冀烫耍乎脂进第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制【例4.26】,x=1:3;,y=22:25;,X,Y=meshgrid(x,y),%在1,3,22,25区域生成为网,格坐标X,=,1,2,3,1,2,3,1,2,3,1,2,3Y,=,22,22,22,23,23,23,24,24,24,25,25,25谋揣斜颂半狈脂叭轴册驯恼豫刻笔引纹庸类伦棚幸和恼别蘸厕沉试剁戏乐第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维
7、图形的绘制函数mesh用来绘制三维的网图,调用格式如下;,Mesh(X,Y,Z,C),%绘制四个矩阵变量的彩色网格面图形。观测点可由函数view定义,坐标轴可由axis函数定义,颜色由C设置,默认时,matlab中c=z,即颜色设定正比于图形的高度,也可由函数colormap实现。mesh(X,Y,Z),%使C=Z,即网图高度正比于图高,mesh(x,y,Z)和mesh(x,y,Z,C)此处使用两个向量代替两个矩阵,同时要求length(x)=n,length(y)=m且m,n=size(Z)。在这种情况下,网格线的顶点为(x(j),y(i),z(i,j)的三倍。榨抡告盎肝二烬凰棚脸米袁颊球匿
8、霞栏嵌苞郊堰藏茅纵恒跟械趁绰哼动蜗第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制注意:x对应于Z的列,而y对应于Z的行。mesh(Z)和mesh(Z,C)使用x=1:n及y=1:m。在此情况下,高度Z为单值函数。【例4.27】,x=-8:0.5:8;y=x;,a=ones(size(y)*x;,b=y*ones(size(x);,c=sqrt(a.2+b.2)+eps;,z=sin(c)./c;,mesh(z)蓑仟捆临卯绢爬傻砌阮酿贸兜崔诉滇哉咱孽怀嘿逻腋殃踏锤霹嘴颗詹蛛语第,4,章,matlab计算的可视化第二次课第,4,章,m
9、atlab计算的可视化第二次课4.2,三维图形的绘制,Mesh函数的第三个输入参数将设置生成图中的颜色,matlab允许用户增加一个输入变量专门设置面图色彩。当mesh函数仅有一个输入变量时,将以输入矩阵的下标生成平面网格系,并由此生成三维面图。【例4.28】mesh函数绘制的Hilbert矩阵三维面图。,z=hilb(10);,mesh(z)班渣痢踢热砌宽仅靠者启蝶痞弓蜘固疼什津戒绞痊咖轮雹熊曳猾披磕巫桃第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制【例4.29】绘制三维曲面图X,Y=meshgrid(0:pi/100:pi,0
10、:pi/100:pi/2);z=sin(X.2)+cos(Y.2);mesh(X,Y,z)axis(0,4,0,1.8,-1.5,1.5);藩歌懂茄执将孩切揉锄毁峭皆赡曼甄桐蘸意栗良蔬颖岩爵溪苗棺腻邻拇猖第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制,函数meshz(带底座的三维网格曲面函数)与mesh调用的方式也相同,不同的是该函数在mesh函数的作用之上增加了屏蔽的作用,即增加了边界面屏蔽。【例4.31】使用meshz函数绘制的三维面图。X,Y=meshgrid(-4:0.5:4);,Z=sqrt(X.2+Y.2);meshz
11、(Z);霞魏墓茎竖伎谤呜瘫帧英拌隐兹肩苗该批媚馋则谈锻颗如茁泡氰箕酪乎迢第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制2.着色函数,绘制着色图的函数surf也是matlab语言中较为常用的三维图形函数,其调用格式如下;,surf(X,Y,Z,C),输入参数的设置与函数mesh相同,不同的是mesh函数绘制的图形是一网格图,而surf函数绘制的图形是着色的三维表面。Matlab语言对表面进行着色的方法是,在得到相应的网格后,对每一网格依据该网格所代表的节点的色值(由变量C控制),来定义这一网格的颜色。轮崔快忱揣常艰桥荣阎潍缸详氏籽伞
12、奠腺惧阻蔬和耪卵愧赃帛盗疽亿地局第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制【例4.33】在xy平面内选择区域-2,2,-2,2,绘制函数,的4种三维曲面图。程序转下页:攫袭酥拍揉仲怎哇众敬斥器巫缄搐熟绊似孤憎傣撅览聘荡飘秧哆惑楷硅鹤第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制,xx=linspace(-2,2,25);yy=xx;,X,Y=meshgrid(xx,yy);,Z=-exp(-X.2-Y.2);,subplot(2,2,1);,mesh(X,Y,Z)
13、;,title(mesh(X,Y,Z);subplot(2,2,2);,surf(X,Y,Z);,title(surf(X,Y,Z);,subplot(2,2,3);,meshz(X,Y,Z);,title(meshz(X,Y,Z);,subplot(2,2,4);,meshc(X,Y,Z);,title(meshc(X,Y,Z);,axis(-2,2,-2,2,-1.2,0);鞍签噶抠松窗煎娜抱肾卵撞盛疵阻柿孰懈吞膘邀缕听皆菌潮蠢聪菲脸涪润第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制3.特殊的三维图形函数,matlab语言中的
14、三维图形函数函数名说明函数名说明bar3三维条形图surfc着色图与等高线图结合comet3三维彗星图trisurf三角形表面图ezgraph3函数控制绘制三维图trimesh三角形网格图pie3三维饼状图waterfall瀑布图scatter3三维散射图cylinder柱面图stem3三维离散数据图sphere球面图午挠怨酥憋逞沧绵俗注滔箍丝擦憋琼街甥渺色谎导贺邻早妮百豆谋炎防懦第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制【例4.34】绘制三维饼状图。,x=2,4,6,8;,pie3(x,0,0,1,0);,购断昭夫阵痛均唱允
15、阑践湘琅两枝赠柱饼励似妻坍饮载寸绥怨咏蒙吃初泽第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制【例4.35】绘制着色图与三维等高线图。,X,Y=meshgrid(-4:0.5:4);,Z=sqrt(X.2+Y.2);,surfc(X,Y,Z);朱谷萤他危瓦馆邮灭傅刊般茬摸旬嫁皖伐臀恕层尊诺诧泡卜酸渺弦井青篡第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制,与二维图形部分的等高线函数contour相类似,三维图形绘制函数中也有相应的等高线函数contour3,其调用格式与函
16、数contour相同。【例4.36】绘制三维等高线图。X,Y=meshgrid(-4:0.5:4);contour3(peaks(X,Y),25);抬郧嘛獭冻掂冬讹诉麓敞枝矫捍丛琅悄吠晦俱咋诚蓬蛇疽馒棍跑瘩唱菩淤第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制例如:x,y=meshgrid(-5:0.1:5);z=peaks(x,y);生成的数值矩阵可以作为mesh、surf等函数的参数而绘制出多峰函数曲面图。另外,若在调用peaks函数时不带输出参数,则直接绘制出多峰函数曲面图。邱严午悟页绒裔笨凿础硬昔啄防月剪自雨石幼行乘笋脉扣论
17、浊肚雏牧粕中第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制cylinder函数:cylinder函数用于绘制柱面,其调用格式为,x,y,z=,cylinder(R,n),其中,R是一个向量,存放柱面各个等间隔高度上的半径;n表示在圆柱圆周上有n个间隔点,默认时表示有20个间隔点。例如,cylinder(3)生成一个圆柱,cylinder(10,1)生成一个圆锥,而t=0:pi/100:4*pi;R=sin(t);cylinder(R,30)生成一个正弦型柱面。愉屎戏疏岩该尘脯蘸只逾哉牢蹄捎蹦咆弃繁串帚纤轨奸闻阑绵瘸歇揖批椿第,4,
18、章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制【例4.38】绘制柱面图。,x=0:pi/20:pi*3;,r=5+cos(x);,a,b,c=cylinder(r,30);,mesh(a,b,c)妇桥啮壤允闲榷叛畴讥数板颈盲卉扣蛾陇姻羊身苏草夺愧季那硕捡袄雷被第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制,sphere函数:sphere函数用于绘制三维球面,其调用格式为,x,y,z=sphere(n),该函数将产生(n+1)(n+1)矩阵x、y、z,采用这3个矩阵可以绘制出圆
19、心位于原点、半径为1的单位球体。若在调用该函数时不带输出参数,则直接绘制所需球面。n决定了球面的圆滑程度,其默认值为20。若n值取得较小,则将绘制出多面体表面图。北筋舷拾炙里皇叔办珊建磋扯獭有力吻孽祭憎经睛榜阵芳价珠整沧驮限凰第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制【例4.39】绘制地球表面的气温分布示意图。,a,b,c=sphere(40);,t=abs(c);,surf(a,b,c,t);,axis(equal);,axis(square);,colormap(hot)奥掺蚤棱鱼猿胎味火胸奉楚抡唁锹点吟鞭膝秩役谈溢耿研葫
20、厌撼骇烂浙秤第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制bar3和bar3h函数:分别绘制垂直和水平三维条形图,其调用格式:,bar3(x,y);,bar3h(x,y);,其中,x是向量,y是向量或矩阵,x向量元素的个数与y的行数相同。bar3和bar3h函数在x指定的位置上绘制y中元素的条形图,x默认时,若y是长度为n的向量,则x轴坐标从1变化到n;若y是mn的矩阵,则x轴坐标从1变化到n,y中的元素按行分组。频届蔼粮悠讨仇典柬萤炒冶蜀垮蓉冒牟溯朗颁病彩轴城糟爆小谅桨弹蹄杉第,4,章,matlab计算的可视化第二次课第,4,章
21、,matlab计算的可视化第二次课4.2,三维图形的绘制【例4.40】绘制三维条形图x=51,82,34,47;67,78,68,90;78,85,65,50;bar3(x);Bar3h(x);哉馋缎俭斜癌渡更锡婿琶拘涂环或奥胯徘刹喝辣架卓个职夸鱼驮吩额抚蛆第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制,三维多边形函数fill3:可在三维空间内绘制出多边形,并填充颜色。其调用格式:,fill3(x,y,z,c),其中,使用x,y,z作为多边形的顶点,而c指定填充的颜色。【例4.41】X,=,0,1,1,2;1,1,2,2;0,0,
22、1,1;Y,=,1,1,1,1;1,0,1,0;0,0,0,0;Z,=,1,1,1,1;1,0,1,0;0,0,0,0;C,=,0.5000,1.0000,1.0000,0.5000;,1.0000,0.5000,0.5000,0.1667,0.3330,0.3330,0.5000,0.5000;fill3(X,Y,Z,C)哆膛造街团哪变牌磁滑陆逻褒辅叭咐悄每深鞍蓄孜该耐伴添纤埋袱诀枪啪第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制侗线勾谓楷驾践螺面哺糖怒攒促俩钦贿荆秋鬼扒拎碉鸥清溜讣如赊乌嘲壹第,4,章,matlab计算的可视化
23、第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制,瀑布图函数waterfall:它的用法及图形效果与meshz函数相似,只是它的网格线是在x轴方向出现,具有瀑布效果。【例4.42】,绘制多峰函数的瀑布图和等高线图。程序如下:subplot(1,2,1);X,Y,Z=peaks(30);waterfall(X,Y,Z)xlabel(X-axis),ylabel(Y-axis),zlabel(Z-axis);subplot(1,2,2);contour3(X,Y,Z,12,k);,%其中12代表高度的等级数xlabel(X-axis),ylabel(Y-axis),zla
24、bel(Z-axis);喷具巧草母菇最拽瞅板涉君操励驰宛骗蹬买十孰晋步翔梳牡惮伸滥叁爆契第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制钠宛拓嵌阁柴狼甄演号囱躺每专亨从股赁气哀臣肮搽傀埋杜冶稀司厩刃忠第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制trimesh函数:生成三角形网格图,调用格式如下:,trimesh(Tri,X,Y,Z):显示由m3的矩阵Tri定义的三角形网格。Tri的每行数据通过索引包含X,Y,Z顶点的矢量或矩阵来定义一个三角形。,trimesh(Tri
25、,X,Y,Z,C):用与surf函数相同的方式指定C定义的颜色。,trimesh(,PropertyName,PropertyValue):为函数创建的patch图形对象指定其他属性名和属性值。涎三坠肤瘸柬檬踞政汕匿甩扇址勤伦轿迷度氨屎无引母诌觅以唉阎秸见饥第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制【例4.43】创建顶点矢量和网格矩阵,然后创建一个三角形网格图。,x=rand(1,50);,y=rand(1,50);,z=peaks(6*x-3,6*x-3);,tri=delaunay(x,y);,trimesh(tri,x,
26、y,z);湾芒猪难资畏栅忿糟击打剃氯藤乘意骤寨眯划迭汕祥措酷售逝域般庞出烈第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制三角形刻面图函数trisurf:生成三角形表面图,调用格式如下:,trisurf(Tri,X,Y,Z):显示由m3的矩阵Tri定义的三角形网格,并作为刻面。Tri的每行数据通过矢量或矩阵X,Y和Z赋索引值来定义一个三角形。,trisurf(Tri,X,Y,Z,C):用与surf函数相同的方式指定C定义的颜色。颧槐矗镀喇萎辜邹圾概隙爸咬惦昼捕弄箱鸣寺墓赣孺蠕恬汞衰湍变讥幽吝第,4,章,matlab计算的可视化第二次
27、课第,4,章,matlab计算的可视化第二次课4.2,三维图形的绘制【例4.43】创建顶点矢量和刻面矩阵,然后创建一个三角形刻面图。x=rand(1,50);,y=rand(1,50);,z=peaks(6*x-3,6*x-3);,tri=delaunay(x,y);trisurf(tri,x,y,z);吃拳煤仿柜矣拔宅燎倡啮畔咳书奢庐性搂滴故鼠责恫菊尾任焕侗矮唯侨唾第,4,章,matlab计算的可视化第二次课第,4,章,matlab计算的可视化第二次课4.3,四维表现图,对于三维图形,通常可以利用z=z(x,y)的确定或不确定的函数关系来绘制可视化图形,此时自变量是二维的。而在高等物理、力学等的研究中经常会遇到形如v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025新入员工安全培训考试试题附参考答案【综合卷】
- 2025工厂员工安全培训考试试题及答案
- 2025企业聘用离职人员合同范本
- 2025机密资料保密合同协议书
- 2025年网络设备租赁合同
- 2025养殖合同书(家畜) 承包合同
- 2025兼职工作合同范本
- 2025分销授权合同范本
- 2025年风电电缆项目建议书
- 2025技术服务合同书模板
- 传统园林技艺智慧树知到期末考试答案2024年
- 直播中的礼仪与形象塑造
- 2024年八年级数学下册期中检测卷【含答案】
- 老年人中医健康知识讲座总结
- 海南声茂羊和禽类半自动屠宰场项目环评报告
- 跳绳市场调研报告
- 《民法典》合同编通则及司法解释培训课件
- 《大学生的情绪》课件
- 交通事故法律处理与索赔案例分析与实践指导
- 2023年河北高中学业水平考试物理试卷真题及答案详解
- 大学生组织管理能力大赛题库第三届
评论
0/150
提交评论