ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:446.06KB ,
资源ID:2244511      下载积分:20 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-2244511.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB 绘图教程02.docx)为本站会员(dreamzhangning)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

MATLAB 绘图教程02.docx

1、第二节 三维绘图一、绘制三维曲线的基本函数最基本的三维图形函数为 plot3,它将二维绘图函数 plot 的有关功能扩展到三维空间,可以用来绘制三维曲线。其调用格式为:plot3(x1,y1,z1,选项 1,x2, y2,z2,选项 2,)其中每一组 x,y,z 组成一组曲线的坐标参数,选项的定义和 plot 的选项一样。当 x,y,z 是同维向量时,则 x,y,z 对应元素构成一条三维曲线。当 x,y,z 是同维矩阵时,则以 x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵的列数。例 513 绘制空间曲线该曲线对应的参数方程为t=0:pi/50:2*pi;x=8*cos(t);y=4*s

2、qrt(2)*sin(t);z=-4*sqrt(2)*sin(t);plot3(x,y,z,p);title(Line in 3-D Space);text(0,0,0,origin);xlabel(X);ylabel(Y);zlabel(Z);grid;二、三维曲面1平面网格坐标矩阵的生成当绘制 z=f(x,y)所代表的三维曲面图时,先要在 xy 平面选定一矩形区域,假定矩形区域为 Da,bc,d,然后将a,b在 x 方向分成 m 份,将c,d 在 y 方向分成 n 份,由各划分点做平行轴的直线,把区域 D 分成 mn 个小矩形。生成代表每一个小矩形顶点坐标的平面网格坐标矩阵,最后利用有关函

3、数绘图。产生平面区域内的网格坐标矩阵有两种方法:利用矩阵运算生成。x=a:dx:b;y=(c:dy:d);X=ones(size(y)*x;Y=y*ones(size(x);经过上述语句执行后,矩阵 X 的每一行都是向量 x,行数等于向量 y 的元素个数,矩阵 Y 的每一列都是向量 y,列数等于向量 x 的元素个数。利用 meshgrid 函数生成;x=a:dx:b;y=c:dy:d;X,Y=meshgrid(x,y);语句执行后,所得到的网格坐标矩阵和上法,相同,当 x=y 时,可以写成meshgrid(x)2、绘制三维曲面的函数Matlab 提供了 mesh 函数和 surf 函数来绘制三

4、维曲面图。mesh 函数用来绘制三维网格图,而 surf 用来绘制三维曲面图,各线条之间的补面用颜色填充。其调用格式为:mesh(x,y,z ,c )surf(x ,y,z ,c )一般情况下,x,y,z 是维数相同的矩阵, x,y 是网格坐标矩阵,z 是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。c 省略时,Matlab 认为 c=z,也即颜色的设定是正比于图形的高度的。这样就可以得到层次分明的三维图形。当 x,y 省略时,把 z 矩阵的列下标当作 x 轴的坐标,把 z 矩阵的行下标当作 y 轴的坐标,然后绘制三维图形。当 x,y 是向量时,要求 x 的长度必须等于 z 矩阵的列

5、,y 的长度必须等于必须等于 z 的行,x, y 向量元素的组合构成网格点的 x,y 坐标,z 坐标则取自 z矩阵,然后绘制三维曲线。例: 用三维曲面图表现函数 :为了便于分析三维曲面的各种特征,下面画出 3 种不同形式的曲面。%program 1x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x);mesh(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(mesh); pause;%program 2x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x

6、);surf(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(surf); pause;%program 3x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x);plot3(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(plot3-1);grid;程序执行结果分别如上图所示。从图中可以发现,网格图(mesh)中线条有颜色,线条间补面无颜色。曲面图(surf)的线条都是黑色的,线条间补面有颜色。进一步观察,曲面图补面颜色和

7、网格图线条颜色都是沿 z 轴变化的。用 plot3 绘制的三维曲面实际上由三维曲线组合而成。可以分析 plot(x,y,z)所绘制的曲面的特征。例: 绘制两个直径相等的圆管相交的图形。m=30;z=1.2*(0:m)/m;r=ones(size(z);theta=(0:m)/m*2*pi;x1=r*cos(theta);y1=r*sin(theta);%生成第一个圆管的坐标矩阵z1=z*ones(1,m+1);x=(-m:2:m)/m;x2=x*ones(1,m+1);y2=r*cos(theta);%生成第一个圆管的坐标矩阵z2=r*sin(theta);surf(x1,y1,z1); %绘

8、制竖立的圆管axis eq l ,axis offhold onsurf(x2,y2,z2); %绘制平放的圆管axis eq l ,axis offtitle (两个等直径圆管的交线);hold off例: 分析由函数 构成的曲面形状与平面 z=a 的交线。此外,还有两个和 mesh 函数相似的函数,即带等高线的三维网格曲面函数 meshc 和带底座的三维网格曲面函数 meshz,其用法和 mesh 类似。不同的是,meshc 还在 xy 平面上绘制曲面在 z 轴方向的等高线, meshz 还在 xy 平面上绘制曲面的底座。surf 函数也有两个类似的函数,即具有等高线的曲面函数 surfc

9、 和具有光照效果的曲面函数 surfl。例: 在 xy 平面内选择-8, 88, 8绘制函数,x,y=meshgrid(-8:0.5:8);z=sin(sqrt(x.2+y.2)./sqrt(x.2+y.2+eps);subplot(2,2,1);meshc(x,y,z);title(meshc);subplot(2,2,2);meshz(x,y,z);title(meshz);subplot(2,2,3);surfc(x,y,z);title(surfc);subplot(2,2,4);surfl(x,y,z);title(surfl);3、标准三维曲面Matlab 提供了一些函数用于绘制标

10、准三维曲面,这些函数可以产生相应的绘图数据,常用于三维图形的演示。如,sphere 函数和 cylinder 函数分别用于绘制三维球面和柱面。sphere 函数的调用格式为:x,y,z=sphere(n);该函数将产生(n+1) ( n+1 矩阵 x,y,z 。采用这三个矩阵可以绘制出圆心位于原点、半径为 1 的单位球体。若在调用该函数时不带输出参数,则直接绘制所需球面。n 决定了球面的圆滑程度,其默认值为 20。若 n 值取的比较小,则绘制出多面体的表面图。cylinder 函数的调用格式为:x,y, zcylinder(R,n)其中 R 是一个向量,存放柱面各个等间隔高度上的半径,n 表示

11、在圆柱圆周上有n 个间隔点,默认有 20 个间隔点。如:cylinder ( 3)生成一个圆柱,cylinder (10,1)生成一个圆锥。而 t=0:pi/100:4*pi; R=sin(t); cylinder(R,30);生成一个正弦圆柱面。另外 Matlab 还提供了一个 peaks 函数,称为多峰函数,常用于三维曲面的演示。该函数可以用来生成绘图数据矩阵,矩阵元素由函数:在矩形区域3 3 3 3的等分网格点上的函数值确定。如:z=peaks (30)将生成一个 3030 矩阵,例: 绘制标准三维曲面图形t=0:pi/20:2*pi;x,y,z=cylinder(2+sin(t),30

12、);subplot(1,3,1);surf(x,y,z);subplot(1,3,2);x,y,z=sphere;surf(x,y,z);subplot(1,3,3);x,y,z=peaks(30);meshz(x,y,z);3其他三维图形。在介绍二维图形时,曾经提到条形图、杆图、饼图和填充图等特殊图形,它们还可以以三维形式出现,其函数分别为 bar3,stem3 ,pie3 和 fill3。bar3 绘制三维条形图,常用格式为:bar3(y);bar3(x,y)在第一种格式中,y 的每个元素对应于一个条形。第二种格式在 x 指定的位置上绘制 y 中元素的条形图。stem3 函数绘制离散序列数

13、据的三维杆图,常用格式为:stem3(z)stem3(x,y,z )第一种格式将数据序列 z 表示为从 xy 平面向上延伸的杆图,x 和 y 自动生成。第二种格式在 x 和 y 指定的位置上绘制数据序列 z 的杆图,x,y,z 的维数要相同。pie3 函数绘制三维饼图,常用格式为:pie3(x)x 为向量,用 x 中的数据绘制一个三维饼图。fill3 函数可在三维空间内绘制出填充过的多边形,常用格式为:fill3(x,y,z ,c )用 x,y,z 做多边形的顶点,而 c 指定了填充的颜色。例: 绘制三维图形。1 绘制魔方阵的三维条形图 2 以三维杆图形式绘制曲线 y=2sinx 3 已知 x

14、 2347,1827,2043,3025 ,绘制三维饼图 4 用随机的顶点坐标值画出 5 个黄色三角形subplot(2,2,1);bar3(magic(4);subplot(2,2,2);y=2*sin(0:pi/10:2*pi);stem3(y);subplot(2,2,3);pie3(2347,1827,2043,3025);subplot(2,2,4);fill3(rand(3,5),rand(3,5),rand(3,5),y);除了上面讨论的三维图形外,常用的图形还有瀑布图和三维曲面的等高线图。绘制瀑布图用 waterfall 函数,用法和 meshz 函数相似,只是它的网格线在 x

15、 轴方向出现,具有瀑布效果。等高线图分二维和三维两种形式,分别使用函数 contour 和 contour3 绘制。例: 绘制多峰函数的瀑布图和等高线图。subplot(1,2,1);X,Y,Z=peaks(30);waterfall(X,Y,Z);xlabel(XX);ylabel(YY);zlabel(ZZ);subplot(1,2,2);contour3(X,Y,Z,12,k);%其中 12 代表高度的等级数xlabel(XX);ylabel(YY);zlabel(ZZ);第三节 三维图形的精细处理一、视点处理在日常生活中,从不同的角度观察物体,所看到的物体形状是不一样的。同样,从不同视

16、点绘制的三维图形的形状也是不一样的。视点位置可由方位角和仰角表示。方位角Matlab 提供了设置视点的函数 view,其调用格式为:view(az,el)其中 az 为方位角,el 为仰角,它们均以度为单位。系统默认的视点定义为方位角为-37.5 度,仰角 30 度。例: 从不同视点绘制多峰函数曲面。subplot(2,2,1);mesh(peaks);view(-37.5,30);title(1);subplot(2,2,2);mesh(peaks);view(0,90);title(2);subplot(2,2,3);mesh(peaks);view(90,0);title(3);subp

17、lot(2,2,4);mesh(peaks);view(-7,-10);title(4);二、色彩处理三、图形的裁剪处理Matlab 定义的 NaN 常数可以用于表示那些不可使用的数据,利用这些特性,可以将图形中需要裁剪部分对应的函数值设置成 NaN,这样在绘制图形时,函数值为 NaN的部分将不显示出来,从而达到对图形进行裁剪的目的。例如,要削掉正弦波顶部或底部大于 0.5 的部分,可使用下面的程序。x=0:pi/10:4*pi;y=sin(x);i=find(abs(y)0.5);x(i)=NaN;plot(x,y);例: 绘制两个球面,其中一个在另一个里面,将外面的球裁掉一部分,以便能看到

18、里面的球。x,y,z=sphere(25);%生成外面的大球z1=z;z1(:,1:4)=NaN;%将大球裁去一部分c1=ones(size(z1);surf(3*x,3*y,3*z1,c1); %生成里面的小球hold onz2=z;c2=2*ones(size(z2);c2(:,1:4)=3*ones(size(c2(:,1:4);surf(1.5*x,1.5*y,1.5*z2,c2);colormap(0 1 0;0.5 0 0;1 0 0);grid onhold off色图中使用三种颜色,外面的球是绿色,里面的球采用深浅不同的两种红色。四、隐函数作图如果给定了函数的显式表达式,可以先

19、设置自变量向量,然后根据表达式计算函数向量,从而用 plot 等函数绘制出图形。但是当函数采用隐函数形式时,如: ,则很难利用上述方法绘制图形。Matlab 提供了一个 ezplot 函数绘制隐函数图形。用法如下:1、对于函数 f=f(x),ezplot 的调用格式为:ezplot(f),在默认区间(-2pi ,2pi)绘制图形。ezplot(f ,a,b),在区间(a,b)绘制2、对于隐函数 f=f(x,y),ezplot 的调用格式为;ezplot(f),在默认区间(-2pi ,2pi),(-2pi ,2pi)绘制 f(x,y)=0 的图形。ezplot(f ,xmin,xmax,ymin

20、,ymax);在区间 绘制图形。ezplot(f ,a,b),在区间(a,b),(a ,b)绘制3、对于参数方程 x=x(t),y=y(t),ezplot 函数的调用格式为:ezplot(x,y),在默认区间 绘制 x=x(t),y=y(t)图形。ezplot(x,y,tmin,tmax),在区间(tmin,tmax)绘制 x=x(t),y=y(t)图形。例: 隐函数绘图举例。subplot(2,2,1);ezplot(x2+y2-9);axis eq l;subplot(2,2,2);ezplot(x3+y3-5*x*y+1/5)subplot(2,2,3);ezplot(cos(tan(p

21、i*x),0,1);subplot(2,2,4);ezplot(8*cos(t),4*sqrt(2)*sin(t),0,2*pi)rand(n):生成 0 到 1 之间的 n 阶随机数方阵 rand(m,n):生成 0 到 1 之间的 mn 的随机数矩阵 (现成的函数)另外:Matlab 随机数生成函数 betarnd 贝塔分布的随机数生成器 binornd 二项分布的随机数生成器 chi2rnd 卡方分布的随机数生成器 exprnd 指数分布的随机数生成器 frnd f 分布的随机数生成器 gamrnd 伽玛分布的随机数生成器 geornd 几何分布的随机数生成器 hygernd 超几何分布的随机数生成器 lognrnd 对数正态分布的随机数生成器 nbinrnd 负二项分布的随机数生成器 ncfrnd 非中心 f 分布的随机数生成器 nctrnd 非中心 t 分布的随机数生成器 ncx2rnd 非中心卡方分布的随机数生成器 normrnd 正态(高斯)分布的随机数生成器 poissrnd 泊松分布的随机数生成器 raylrnd 瑞利分布的随机数生成器 trnd 学生氏 t 分布的随机数生成器 unidrnd 离散均匀分布的随机数生成器 unifrnd 连续均匀分布的随机数生成器 weibrnd 威布尔分布的随机数生成器。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报