二维和三维图形.ppt_第1页
二维和三维图形.ppt_第2页
二维和三维图形.ppt_第3页
二维和三维图形.ppt_第4页
二维和三维图形.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2.3 二维及三维图形,2.3.1 二维图形,在Matlab中,可以用“绘图文件”命令在屏幕上生成图形,以验证科学与工程数据。Matlab作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给Matlab函数画图.,help graph2d可以得到所用画二维图形的命令。,一、plot,plot命令产生X-Y方向绘图。,1.plot (Y),1若Y是向量,Y 0, 0.48, 0.84, 1, 0.91, 0.6, 0.14 ; plot ( Y ),2.若Y是矩阵,Y 0 0.25 0.84 1.5;0.25 1

2、0.54 0.67 ; plot ( Y ),按列绘图.,y=3+5i 6+2i 1+9i; plot(y),3.若Y是复数,(1)如果x和y是向量,则分别表示点集的横坐标和纵坐标, plot(x,y)画出x各列与y各列的关系曲线; (2)如果x和y是阶数相同的矩阵,则画出x各列与y各列的关系曲线; (3)如果x是向量,y是矩阵,plot(x,y)将分别采用不同的线型画出y的行或列随向量x而变化的一系列曲线; (4)如果x是矩阵,y是向量,曲线族是y随x变化外。,2.plot(X,Y),将在XY图上画出Y元素随X元素变化的图形。,(1) 在0 x2区间内,绘制曲线 y=2e-0.5xcos(4

3、x) 程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y),(3) t=0: 0.1: 10 y= sin ( t ); 2. * cos( t ) plot ( t, y ) grid,(2) X=2 4 6;3 6 9 y=1 2 3; 5 4 2 Plot(x,y),3.plot ( x1, y1, x2, y2, , xn, yn),x1, y1, x2, y2, , xn, yn等代表一些行向量对或列向量对。,t=0: 0.1: 10 y= sin ( t ); 2. * cos( t ) plot ( t, y

4、 ) grid,t=0: 0.1: 10 plot ( t, sin ( t ),t,2. * cos( t ) ),plotyy(x1,y1,x2,y2),在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。,其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。,t=0: 0.1: 10 ; Y1=sin(t); Y2=3+cos(t) plotyy ( t, y1,t,y2 ),t=0: 0.1: 10 ; Y1=sin(t); Y2=3+cos(t) pl

5、ot ( t, y1,t,y2 ),下表给出其他的不同类型的“绘图文件”命令:,plot命令产生X-Y方向绘图。一旦掌握了plot命令,对数坐标、极坐标下的绘图只要用loglog、semilogx、semilogy、polar命令代替plot即可。,loglog 双对数坐标 semilogx X轴对数坐标 semilogy Y轴对数坐标 polar 极坐标 polar(theta,rho),theta相角,rho半径 bar(x) 棒图 hist分布图 pie 饼图,处理图形,1、线型,设置: 线型用LineStyle 线宽用LineWidth,2、标记,设置:标记用Maker,标记的大小用M

6、akerSize,3、颜色,设置: 颜色用Color,当选项省略时,MATLAB规定,线型一律用实线,颜色将根据曲线的先后顺序依次。,t=0: 0.1: 10 ; Y1=sin(t); Y2=2*cos(t) plot ( t, Y1,+m,t,Y2 -.hc),(1)grid on/off: 加/删除格栅在当前图上 (2)xlabel(x轴说明) (3)ylabel(y轴说明) (4)zlabel(z轴说明) (5)title(图形名称) (6)text(x,y,图形说明) gtext(图形说明):在鼠标指定的位置 (7)legend(图例1,图例2,) (8)hold on/off命令控制

7、是保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换。,2、图形标注与坐标控制,例:将y=sin(x)、y=cos(x)分别用点和线画出在同一屏幕上。,x=0:pi/100:2*pi; y1=sin(x); Plot(x,y1) Hold on y2=cos(x); Plot(x,y2),例 在0 x2区间内,绘制曲线y1=sinx和y2=cosx,并给图形添加图形标注。 程序如下: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2) title(x from 0 to 2pi); %加图形标题 xlabel(V

8、ariable X); %加X轴说明 ylabel(Variable Y); %加Y轴说明 text(0.8,0.6,曲线y1=sinx); %在指定位置添加图形说明 text(2.5,0.2,曲线y2=cosx); legend(y1, y2) %加图例,3、分割窗口,h=subplot(m,n,t),例 :将屏幕分割为四块,并分别画出y=sin(x),z=cos(x),a=sin(x)*cos(x),b=sin(x)/cos(x)。,x=linspace(0,2*pi,100); y=sin(x); z=cos(x); a=sin(x).*cos(x);b=sin(x)./cos(x) s

9、ubplot(2,2,1);plot(x,y) subplot(2,2,2);plot(x,z) subplot(2,2,3);plot(x,a) subplot(2,2,4);plot(x,b),4、坐标控制,axis(xmin xmax ymin ymax zmin zmax) axis函数功能丰富,常用的格式还有: axis equal:纵、横坐标轴采用等长刻度。 axis square:产生正方形坐标系(缺省为矩形)。 axis auto:使用缺省设置。 axis off:取消坐标轴。 axis on:显示坐标轴。,5、M文件:文本文件和函数文件,包含有Matlab语句的磁盘文件可以分

10、为文本文件和函数文件两种,它们的名字都是以“.m”为后缀的文件,统称为M 文件。,1 文本文件(脚本文件),t=0: 0.1: 10 y= sin ( t ); 2. * cos( t ) plot ( t, y ) grid,打开方式: Filenew M-file,运行方式(在文本文件中) Debugrun,如同在MATLAB中键入命令一般,这种文件称为脚本文件,使用脚本文件,可以把命令保存在磁盘上,便于以后的访问;同时对使用大的数组也带来的方便;,2 函数文件,如果M文件的第一行包含单词“function”,那么这个文件就是函数文件。函数文件与文本文件不同,它的变量将不出现在工作空间里。

11、,function y=myfile(t) t=0:0.1:10 y=sin(t);2.*cos(t) plot(t,y) grid,说明: 进入MATLAB的Editor/Debugger窗口来编辑程序 在编辑环境中,文字的不同颜色显示表明文字的不同属性。 绿色:注解;黑色:程序主体;红色:属性值的设定;蓝色:控制流程。,fplot字符串函数图,注意:fname必须是M文件的函数名或是独立变量为x的字符串.,先建M文件myfun1.m: function Y=myfun1(x) Y=exp(2*x)+sin(3*x.2),再输入命令: fplot(myfun1,-1,2),fplot(fna

12、me,lims,tol,选项) 其中fname为函数名,以字符串形式出现,lims为x,y的取值范围,tol为相对允许误差,其系统默认值为2e-3。选项定义与plot函数相同。,绘图的步骤:,在数值统计分析或离散数据处理中常用的绘图指令:,x=1:10; y=rand(size(x); bar(x,y);,如果已知资料的误差量,就可用errorbar来表示。,x = linspace(0,2*pi,30); y = sin(x); e = std(y)*ones(size(x); errorbar(x,y,e),2.3.2 三维图形,1.三维点线图,plot3(x1,y1,z1,选项1,x2,

13、y2,z2,选项2,xn,yn,zn,选项n),其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。,t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); plot3(x,y,z); title(Line in 3-D Space); xlabel(X);ylabel(Y);zlabel(Z); grid on;,2.三维网线图,1产生三维数据 在MATLAB

14、中,利用meshgrid函数产生平面区域内的网格坐标矩阵。其格式为: x=a:d1:b; y=c:d2:d; X,Y=meshgrid(x,y); 语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。,2绘制三维曲面的函数 mesh函数的调用格式为: mesh(x,y,z)画出立体网状图,surf(x,y,z)画出立体曲面图,3.三维曲面图,绘制三维曲面图z=sin(x+sin(y)-x/10。 程序如下: x,y=meshgrid(0:0.25:4*pi); z=sin(x+sin(y)-x/10; mesh(x,y,z);

15、 axis(0 4*pi 0 4*pi -2.5 1);,x,y=meshgrid(0:0.25:4*pi); z=sin(x+sin(y)-x/10; surf(x,y,z); axis(0 4*pi 0 4*pi -2.5 1);,meshc 网格加等值线 meshz 含参考平面 surfc surfl(有亮度),x,y=meshgrid(0:0.25:4*pi); z=sin(x+sin(y)-x/10; meshc(x,y,z); axis(0 4*pi 0 4*pi -2.5 1);,x,y=meshgrid(0:0.25:4*pi); z=sin(x+sin(y)-x/10; me

16、shz(x,y,z); axis(0 4*pi 0 4*pi -2.5 1);,为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,常用于三维曲面的演示。,要画出此函数的最快方法即是直接键入peaks:,标准三维曲面 sphere函数的调用格式为: x,y,z=sphere(n) cylinder函数的调用格式为: x,y,z= cylinder(R,n),t=0:pi/20:2*pi; x,y,z= cylinder(2+sin(t),30); subplot(2,2,1); surf(x,y,z); subplot(2

17、,2,2); x,y,z=sphere; surf(x,y,z); subplot(2,1,2); x,y,z=peaks(30); surf(x,y,z);,2.3.3 句柄图形,一、句柄 在Matlab系统中,所有的图形都是句柄图形. 每一个图形都有一个数字来标识,叫做句柄。句柄是图形对象的唯一标识符,不同对象的句柄不可能重复和混淆。有了句柄,用户可以在任何时候访问并修改这些图形.,根可包含一个或多个图形窗口,每一个图形窗口可包含一组或多组坐标轴。所有其它的对象都是坐标轴的子对象,并且在这些坐标轴上显示。所有创建对象的函数当父对象或对象不存在时,都会创建它们。,计算机屏幕作为根对象自动建立,其句柄值为0。,图形窗口的句柄为一整数,并显示在该窗口的标题栏, 其它图形对象的句柄为浮点数,,MATLAB可以用来获得图形、坐标轴和其它对象的句柄。,gcf 获得当前图形窗口的句柄 gca 获得当前坐标轴的句柄 gco 返回当前对象的句柄,第二次上机作业,1.复习本次的课件,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论