二维和三维图形

上传人:仙*** 文档编号:149820526 上传时间:2022-09-08 格式:PPT 页数:29 大小:448.02KB
收藏 版权申诉 举报 下载
二维和三维图形_第1页
第1页 / 共29页
二维和三维图形_第2页
第2页 / 共29页
二维和三维图形_第3页
第3页 / 共29页
资源描述:

《二维和三维图形》由会员分享,可在线阅读,更多相关《二维和三维图形(29页珍藏版)》请在装配图网上搜索。

1、2.3 二维及三维图形二维及三维图形2.3.1 二维图形二维图形在在MatlabMatlab中,可以用中,可以用“绘图文件绘图文件”命令在屏幕上生成图形,以验证命令在屏幕上生成图形,以验证科学与工程数据。科学与工程数据。MatlabMatlab作图是通过描点、连线来实现的,故在画作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给横坐标和纵坐标),然后将该点集的坐标传给MatlabMatlab函数画图函数画图.help graph2dhelp graph2

2、d可以得到所用画二维图形的命令。可以得到所用画二维图形的命令。一、plotplotplot命令产生命令产生X-YX-Y方向绘图。方向绘图。1.plot(Y)11若若Y Y是向量是向量Y 0,0.48,0.84,1,0.91,0.6,0.14;plot(Y)2.2.若若Y Y是矩阵是矩阵Y 0 0.25 0.84 1.5;0.25 1 0.54 0.67;plot(Y)按列绘图按列绘图.y=3+5i 6+2i 1+9i;plot(y)3.3.若若Y Y是复数是复数(1 1)如果)如果x x和和y y是向量,则分别表示点集的横坐标和纵坐标是向量,则分别表示点集的横坐标和纵坐标,plot(x,y),

3、plot(x,y)画画出出x x各列与各列与y y各列的关系曲线;各列的关系曲线;(2 2)如果如果x x和和y y是阶数相同的矩阵是阶数相同的矩阵,则画出,则画出x x各列与各列与y y各列的关系曲线;各列的关系曲线;(3 3)如果如果x x是向量是向量,y,y是矩阵是矩阵,plot(x,y),plot(x,y)将分别采用不同的线型画出将分别采用不同的线型画出y y的行的行或列随向量或列随向量x x而变化的一系列曲线;而变化的一系列曲线;(4 4)如果)如果x x是矩阵,是矩阵,y y是向量,曲线族是是向量,曲线族是y y随随x x变化外。变化外。2.plot(X,Y)将在将在X XY Y图

4、上画出图上画出Y Y元素随元素随X X元素变化的图形。元素变化的图形。(1)在在0 x2 区间内,绘制曲线区间内,绘制曲线 y=2e-0.5xcos(4x)程序如下:程序如下: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 9y=1 2 3;5 4 2Plot(x,y)3.plot(x1,y1,x2,y2,xn,yn)x1,y1,x2,y2,x1,y1,x2,y2,xn,yn,xn,yn等代表一些行向量对或列向量对。

5、等代表一些行向量对或列向量对。t=0:0.1:10 y=sin(t);2.*cos(t)plot(t,y)gridt=0:0.1:10 plot(t,sin(t),t,2.*cos(t)plotyy(x1,y1,x2,y2)在在MATLABMATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用可以使用plotyyplotyy绘图函数。绘图函数。其中其中x1,y1x1,y1对应一条曲线,对应一条曲线,x2,y2x2,y2对应另一条曲线。横坐标的标度相对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于同,纵坐标有两个,左纵坐标

6、用于x1,y1x1,y1数据对,右纵坐标用于数据对,右纵坐标用于x2,y2x2,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)plot(t,y1,t,y2)下表给出其他的不同类型的下表给出其他的不同类型的“绘图文件绘图文件”命令:命令:plotplot命令产生命令产生X-YX-Y方向绘图。一旦掌握了方向绘图。一旦掌握了plotplot命令,对数坐标、命令,对数坐标、极坐标下的绘图只要用极坐标下的绘图只要用loglogloglog、semilogxsemilog

7、x、semilogysemilogy、polarpolar命命令代替令代替plotplot即可。即可。loglog 双对数坐标双对数坐标semilogx X轴对数坐标轴对数坐标semilogy Y轴对数坐标轴对数坐标polar 极坐标极坐标polar(theta,rho),theta相角,相角,rho半径半径bar(x)棒图棒图 hist分布图分布图 pie 饼图饼图处理图形处理图形1 1、线型、线型符号符号-:.线型线型实线(默认)实线(默认)虚线虚线点线点线点划线点划线设置:设置:线型用线型用LineStyle 线宽用线宽用LineWidth符符号号+。*.pshd线线型型上三上三角角下三

8、下三角角五角五角星星方方形形六角六角形形棱棱形形左三左三角角右三右三角角2 2、标记、标记设置:标记用设置:标记用Maker,标记的大小用标记的大小用MakerSize3 3、颜色、颜色符号符号Rgbcmykw线型线型红红绿绿蓝蓝青青品红品红黄黄黑黑白白设置:设置:颜色用颜色用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:加加/删除格栅在当前图上删除格

9、栅在当前图上 (2)xlabel(x轴说明轴说明)(3)ylabel(y轴说明轴说明)(4)zlabel(z轴说明轴说明)(5)title(图形名称图形名称)(6)text(x,y,图形说明图形说明)gtext(图形说明图形说明):在鼠标指定的位置:在鼠标指定的位置(7)legend(图例图例1,图例图例2,)(8)hold on/off命令控制是保持原有图形还是刷新原有图形,不带命令控制是保持原有图形还是刷新原有图形,不带参数的参数的hold命令在两种状态之间进行切换。命令在两种状态之间进行切换。2 2、图形标注与坐标控制、图形标注与坐标控制例例:将将y=sin(x)、y=cos(x)分别用

10、点分别用点和线画出在同一屏幕上。和线画出在同一屏幕上。x=0:pi/100:2*pi;y1=sin(x);Plot(x,y1)Hold ony2=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(Variable X);%加加X轴说明轴说明ylabel(Variable Y);%加

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

12、;a=sin(x).*cos(x);b=sin(x)./cos(x)subplot(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 4、坐标控制、坐标控制axis(xmin xmax ymin ymax zmin zmax)axis函数功能丰富,常用的格式还有:函数功能丰富,常用的格式还有:axis equal:纵、横坐标轴采用等长刻度。:纵、横坐标轴采用等长刻度。axis square:产生正方形坐标系:产生正方形坐标系(缺省为矩形缺省为矩形)。axis aut

13、o:使用缺省设置。:使用缺省设置。axis off:取消坐标轴。:取消坐标轴。axis on:显示坐标轴。:显示坐标轴。5 5、M M文件:文本文件和函数文件文件:文本文件和函数文件包含有包含有MatlabMatlab语句的磁盘文件可以分为文本文件和函数文件两种,语句的磁盘文件可以分为文本文件和函数文件两种,它们的名字都是以它们的名字都是以“.m”.m”为后缀的文件,统称为为后缀的文件,统称为M M 文件。文件。1 1 文本文件文本文件(脚本文件脚本文件)t=0:0.1:10y=sin(t);2.*cos(t)plot(t,y)grid打开方式:打开方式:Filenew M-file运行方式运

14、行方式(在文本文件中)(在文本文件中)Debugrun如同在如同在MATLABMATLAB中键入命令一般,这种文件称为脚本文件,使用脚本文件,中键入命令一般,这种文件称为脚本文件,使用脚本文件,可以把命令保存在磁盘上,便于以后的访问;同时对使用大的数组也带可以把命令保存在磁盘上,便于以后的访问;同时对使用大的数组也带来的方便;来的方便;2 2 函数文件函数文件如果如果M文件的第一行包含单词文件的第一行包含单词“function”,那么这个文件就是函,那么这个文件就是函数文件。函数文件与文本文件不同,它的变量将不出现在工作空数文件。函数文件与文本文件不同,它的变量将不出现在工作空间里。间里。fu

15、nction y=myfile(t)t=0:0.1:10y=sin(t);2.*cos(t)plot(t,y)grid说明说明:进入进入MATLABMATLAB的的Editor/DebuggerEditor/Debugger窗口来编辑程序窗口来编辑程序在编辑环境中,文字的不同颜色显示表明文字的不同属性。在编辑环境中,文字的不同颜色显示表明文字的不同属性。绿色:注解;黑色:程序主体;红色:属性值的设定;蓝色:绿色:注解;黑色:程序主体;红色:属性值的设定;蓝色:控制流程。控制流程。fplot字符串函数图字符串函数图注意:注意:fnamefname必须是必须是M M文件的函数名或是独立变量为文件的

16、函数名或是独立变量为x x的字符串的字符串.例例 在-1,2上画)3sin(22xeyx的 图形 先建先建M M文件文件myfun1.mmyfun1.m:function Y=myfun1(x)function Y=myfun1(x)Y=exp(2 Y=exp(2*x)+sin(3x)+sin(3*x.2)x.2)再输入命令:再输入命令:fplot(myfun1,-1,2)fplot(myfun1,-1,2)fplot(fname,lims,tol,fplot(fname,lims,tol,选项选项)其中其中fnamefname为函数名,以字符串形式出现,为函数名,以字符串形式出现,limsl

17、ims为为x,yx,y的取值的取值范围,范围,toltol为相对允许误差,其系统默认值为为相对允许误差,其系统默认值为2e-32e-3。选项定义。选项定义与与plotplot函数相同。函数相同。绘图的步骤:绘图的步骤:准备数据准备数据选择窗口,选择窗口,决定绘图的位置决定绘图的位置调用绘图函数调用绘图函数设置绘图标记、颜色等设置绘图标记、颜色等设置坐标范围、栅格等设置坐标范围、栅格等标记标记bar bar 长条图长条图errorbar errorbar 图形加上误差范围图形加上误差范围 fplot fplot 较精确的函数图形较精确的函数图形 polar polar 极座标图极座标图hist

18、hist 累计图累计图rose rose 极座标累计图极座标累计图stairs stairs 阶梯图阶梯图stem stem 针状图针状图fill fill 实心图实心图feather feather 羽毛图羽毛图compass compass 罗盘图罗盘图quiver quiver 向量场图向量场图在数值统计分析或离散数据处理中常用在数值统计分析或离散数据处理中常用的绘图指令的绘图指令:x=1:10;y=rand(size(x);bar(x,y);如果已知资料的误差量,就可如果已知资料的误差量,就可用用errorbarerrorbar来表示来表示。x=linspace(0,2*pi,30);

19、y=sin(x);e=std(y)*ones(size(x);errorbar(x,y,e)2.3.2 三维图形三维图形1.1.三维点线图三维点线图plot3(x1,y1,z1,选项选项1,x2,y2,z2,选项选项2,xn,yn,zn,选项选项n)其中每一组其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和组成一组曲线的坐标参数,选项的定义和plot函数相同。函数相同。当当x,y,z是同维向量时,则是同维向量时,则x,y,z 对应元素构成一条三维曲线。当对应元素构成一条三维曲线。当x,y,z是是同维矩阵时,则以同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列对应列元

20、素绘制三维曲线,曲线条数等于矩阵列数。数。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.2.三维网线图三维网线图1产生三维数据产生三维数据在在MATLAB中,利用中,利用meshgrid函数产生平面区域内的网格坐标矩阵。函数产生平面区域内的网格坐标矩阵。其格式为:其格式为:x=a:d1:b;y=c:d2:d;X,Y=meshgrid(x,y);语句执行后,矩阵语句执行后,矩阵X

21、的每一行都是向量的每一行都是向量x,行数等于向量,行数等于向量y的元素的个的元素的个数,矩阵数,矩阵Y的每一列都是向量的每一列都是向量y,列数等于向量,列数等于向量x的元素的个数。的元素的个数。2绘制三维曲面的函数绘制三维曲面的函数mesh函数的调用格式为:函数的调用格式为:mesh(x,y,z)画出立体网状图画出立体网状图 surf(x,y,z)画出立体曲面图画出立体曲面图 3.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

22、,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;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;

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

24、n)cylindercylinder函数的调用格式为:函数的调用格式为:x,y,z=cylinder(R,n)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,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 句柄图形句柄图形一、句柄一、句柄在在MatlabMatlab系统中,所有的图形都是句柄图形系统中,所有的图形都是句柄图形.每一个图形都

25、有一个数字来标识,叫做句柄。句柄是图形对象的唯一标每一个图形都有一个数字来标识,叫做句柄。句柄是图形对象的唯一标识符,不同对象的句柄不可能重复和混淆。有了句柄识符,不同对象的句柄不可能重复和混淆。有了句柄,用户可以在任何用户可以在任何时候访问并修改这些图形时候访问并修改这些图形.根可包含一个或多个图形窗口,每一个图形窗口可包含一组或多组坐根可包含一个或多个图形窗口,每一个图形窗口可包含一组或多组坐标轴。所有其它的对象都是坐标轴的子对象,并且在这些坐标轴上显标轴。所有其它的对象都是坐标轴的子对象,并且在这些坐标轴上显示。所有创建对象的函数当父对象或对象不存在时,都会创建它们。示。所有创建对象的函

26、数当父对象或对象不存在时,都会创建它们。rootfigureuimenuuicontroluicontextmenuimagelinelightpatchrectangletextsurfaceaxes计算机屏幕作为计算机屏幕作为根对象根对象自动建立,其自动建立,其句柄值为句柄值为0 0。图形窗口图形窗口的句柄为一的句柄为一整数整数,并显示在该窗口的标题栏,并显示在该窗口的标题栏,其它图形对象的句柄为浮点数,其它图形对象的句柄为浮点数,MATLABMATLAB可以用来获得图形、坐标轴和其它对象的句柄。可以用来获得图形、坐标轴和其它对象的句柄。gcf gcf 获得当前图形窗口的句柄获得当前图形窗

27、口的句柄gca gca 获得当前坐标轴的句柄获得当前坐标轴的句柄gco gco 返回当前对象的句柄返回当前对象的句柄第二次上机作业第二次上机作业1.1.复习本次的课件,熟悉本次课程所提到的全部内容。复习本次的课件,熟悉本次课程所提到的全部内容。2.2.根据所学的内容,把书上的例题自己操作一遍。根据所学的内容,把书上的例题自己操作一遍。3.3.对于以下问题,编写对于以下问题,编写M M文件。文件。(1)(1)在在0 20 2范围内绘制以范围内绘制以Y Y轴为对数的二维曲线图。轴为对数的二维曲线图。y=|1000sin(4x)|+1y=|1000sin(4x)|+1(2)(2)写出生成如下图写出生

28、成如下图所示的所示的MATLABMATLAB文本文本M M文件。文件。(3 3)写出生成如下图所示波形的)写出生成如下图所示波形的MATLABMATLAB脚本脚本M M文件。图中虚线为正弦波,文件。图中虚线为正弦波,要求它的负半波被置零,且在要求它的负半波被置零,且在sqrt(3)/2sqrt(3)/2处被削顶。处被削顶。画红色画虚线:画红色画虚线:plot(x,y,:r)plot(x,y,:r),画黑实线:,画黑实线:plot(x,y,-k)plot(x,y,-k)(4 4)绘制)绘制z=sin(x)z=sin(x)*cos(y)cos(y)的三维网格和三维曲面图,的三维网格和三维曲面图,x,yx,y变化范围均为变化范围均为 0 20 2。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!