第五章基本图形处理功能

上传人:沈*** 文档编号:168288723 上传时间:2022-11-09 格式:PPT 页数:67 大小:471.50KB
返回 下载 相关 举报
第五章基本图形处理功能_第1页
第1页 / 共67页
第五章基本图形处理功能_第2页
第2页 / 共67页
第五章基本图形处理功能_第3页
第3页 / 共67页
点击查看更多>>
资源描述
MatlabMatlab程序设计基础程序设计基础 西安邮电学院计算机系西安邮电学院计算机系第五章第五章 基本图形处理功能基本图形处理功能(数据和函数的可视化)(数据和函数的可视化)数据可视化的数据可视化的目的目的在于:通过图形,在于:通过图形,从一堆杂乱的离散数据中观察数据间的内从一堆杂乱的离散数据中观察数据间的内在关系,感受由图形所传递的内在本质。在关系,感受由图形所传递的内在本质。西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础引导引导二维曲线绘图的基本操作二维曲线绘图的基本操作三维绘图的基本操作三维绘图的基本操作函数绘图的简捷指令函数绘图的简捷指令 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础引导引导 离散数据和离散函数的可视化离散数据和离散函数的可视化 连续函数的可视化连续函数的可视化可视化的一般步骤可视化的一般步骤 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础离散数据和离散函数的可视化离散数据和离散函数的可视化众所周知,任何二元实数标量对(众所周知,任何二元实数标量对(xa,ya)可用平面)可用平面上的一个点表式;任何二元实数向量对(上的一个点表式;任何二元实数向量对(x,y)可用)可用平面上的一组点表示。对于离散实函数平面上的一组点表示。对于离散实函数yn=f(xn),当当 xn以递增(或递减)次序取值时,根据函数关系以递增(或递减)次序取值时,根据函数关系可求得同样数目的可求得同样数目的yn,用向量形式可记述为,用向量形式可记述为x=x1,x2,xNT,y=y1,y2,yNT。当把这。当把这向量对用直角坐标中的点序列图示时,就实现了向量对用直角坐标中的点序列图示时,就实现了离散离散函数的可视化函数的可视化。注意注意:图形不能表现无限区间上的函数关系。:图形不能表现无限区间上的函数关系。西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础n=(0:12);y=1./abs(n-6);plot(n,y,r*,MarkerSize,20)grid on。数例:用图形表示离散函1)6(ny 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础连续函数的可视化连续函数的可视化与离散函数可视化一样,进行连续函数可视化也必须先与离散函数可视化一样,进行连续函数可视化也必须先在一组离散自变量上计算相应的函数值,并把这一组在一组离散自变量上计算相应的函数值,并把这一组“数据对数据对”用点图示。但这些离散的点不能表现函数的用点图示。但这些离散的点不能表现函数的连续性。连续性。为了进一步表示离散点之间的函数情况,有两种为了进一步表示离散点之间的函数情况,有两种常用处常用处理方法理方法:l对区间进行更细的分割,计算更多的点,去近似表现函对区间进行更细的分割,计算更多的点,去近似表现函数的连续变化;数的连续变化;l把两点用直线连接,近似表现两点间的(一般是非线性把两点用直线连接,近似表现两点间的(一般是非线性的)函数性状。的)函数性状。在在MATLAB中,以上两种表现方法都可以采用。中,以上两种表现方法都可以采用。注意注意:倘若自变量的采样点数不足够多,则无论哪种方:倘若自变量的采样点数不足够多,则无论哪种方法都不能真实地反映原函数。法都不能真实地反映原函数。西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础例:用图形表示连续调制波形例:用图形表示连续调制波形y=sin(t)sin(9t)y=sin(t)sin(9t)t1=(0:11)/11*pi;y1=sin(t1).*sin(9*t1);t2=(0:100)/100*pi;y2=sin(t2).*sin(9*t2);subplot(2,2,1),plot(t1,y1,r.),axis(0,pi,-1,1),title(子图子图(1)subplot(2,2,2),plot(t2,y2,r.),axis(0,pi,-1,1),title(子图子图(2)subplot(2,2,3),plot(t1,y1,t1,y1,r.)axis(0,pi,-1,1),title(子图子图(3)subplot(2,2,4),plot(t2,y2)axis(0,pi,-1,1),title(子图子图(4)西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础可视化的一般步骤(可视化的一般步骤(1)步步 骤骤典典 型型 指指 令令1曲线数据准备曲线数据准备先取一个参变量采样向量先取一个参变量采样向量然后计算各坐标数据向量然后计算各坐标数据向量t=pi*(0:100)/100;%参变量采样向量参变量采样向量x=f1(t);y=f2(t);z=f3(t);三维曲面数据三维曲面数据产生自变量采样向量产生自变量采样向量产生自变量产生自变量“格点格点”矩阵矩阵计算自变量计算自变量“格点格点”矩阵相应的矩阵相应的函数值矩阵函数值矩阵x=x1:dx:x2;%自变量采样向量自变量采样向量y=y1:dy:y2;%自变量采样向量自变量采样向量X,Y=meshgrid(x,y);%格点矩阵格点矩阵Z=f(X,Y);%计算函数矩阵计算函数矩阵 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础可视化的一般步骤(可视化的一般步骤(2)步步 骤骤典典 型型 指指 令令2选定图形窗及子图位置:选定图形窗及子图位置:缺省时,打开缺省时,打开Figure No.01,或,或当前窗,当前子图当前窗,当前子图可用指令指定图形窗号和子图号可用指令指定图形窗号和子图号figure(1)%指定指定1号图形号图形窗窗subplot(2,2,3)%指定三号子图指定三号子图3调用二维、三维曲线绘图指令:调用二维、三维曲线绘图指令:线型、色彩、数据点形线型、色彩、数据点形plot(x,y,r:)%用红虚点画二维线用红虚点画二维线plot3(x,y,z,b-)%用兰色实线画曲线用兰色实线画曲线调用三维曲面绘图指令调用三维曲面绘图指令mesh(X,Y,Z)西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础可视化的一般步骤(可视化的一般步骤(3)步步 骤骤典典 型型 指指 令令4设置轴的范围、坐标分格设置轴的范围、坐标分格线线axis(x1,x2,y1,y2)%平面坐标范围平面坐标范围axis(x1,x2,y1,y2,z1,z2)%三维坐标范围三维坐标范围grid on%坐标分格线坐标分格线5图形注释:图形注释:图名、坐标名、图例、文图名、坐标名、图例、文字说明字说明tiitle(调制波形调制波形)%图名图名xlabel(t);ylabel(y)%轴名轴名legend(sin(t),sin(t)sin(9t)%图例图例text(2,0.5,y=sin(t)sin(9t)%文字文字说明说明6着色、明暗、灯光、材质着色、明暗、灯光、材质处理(仅对三维图形使用)处理(仅对三维图形使用)colomap,shading,light,material 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础可视化的一般步骤(可视化的一般步骤(4)步步 骤骤典典 型型 指指 令令7视点、三度(横、纵、高)比视点、三度(横、纵、高)比(仅对三维图形使用)(仅对三维图形使用)view,aspect8图形的精细操作(图柄操作):图形的精细操作(图柄操作):利用对象属性值设置利用对象属性值设置利用图形窗工具条进行利用图形窗工具条进行get,set9打印打印图形窗上的直接打印选项或按键图形窗上的直接打印选项或按键利用图形后处理软件打印利用图形后处理软件打印%采用图形窗选项或按键打印最简捷采用图形窗选项或按键打印最简捷print dps2%专业质量打印指令专业质量打印指令 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础二维曲线绘图的基本操作二维曲线绘图的基本操作 一、一、基本绘图函数基本绘图函数二、二、曲线的色彩、线型和数据点形曲线的色彩、线型和数据点形三、三、坐标、刻度和分格线控制坐标、刻度和分格线控制四、四、图形标识图形标识五、五、多次叠绘、双纵坐标和多子图多次叠绘、双纵坐标和多子图六、六、交互式图形指令交互式图形指令 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础一、基本绘图函数一、基本绘图函数1、plot的基本调用格式的基本调用格式(二维曲线绘图)(二维曲线绘图)2、极坐标绘图极坐标绘图 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础plot的基本调用格式(的基本调用格式(1)plot(X,s)plot(X,s)lX X是实向量时,以该向量元素的下标为横坐标、是实向量时,以该向量元素的下标为横坐标、元素值为纵坐标画出一条连续曲线。元素值为纵坐标画出一条连续曲线。lX X是实矩阵时,则按列绘制每列元素值相对其是实矩阵时,则按列绘制每列元素值相对其下标的曲线。图中曲线数等于下标的曲线。图中曲线数等于X X阵列数。阵列数。lX X是复数矩阵时,则按列分别以元素实部和虚是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。部为横、纵坐标绘制多条曲线。ls s是用来指定线型、色彩、数据点形的选项字是用来指定线型、色彩、数据点形的选项字符串。它可以缺省,此时线形、色彩将由符串。它可以缺省,此时线形、色彩将由MATLABMATLAB的默认设置确定。的默认设置确定。西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础plot的基本调用格式(的基本调用格式(2)plot(X,Y,s)plot(X,Y,s)lX X、Y Y是同维向量时,绘制以是同维向量时,绘制以X X、Y Y元素为横、纵坐标的元素为横、纵坐标的曲线。曲线。lX X是向量,是向量,Y Y是有一维与是有一维与X X等维的矩阵时,则绘制出多根等维的矩阵时,则绘制出多根不同色彩的曲线。曲线数等于不同色彩的曲线。曲线数等于Y Y阵的另一维数,阵的另一维数,X X被作被作为这些曲线的共同横坐标。为这些曲线的共同横坐标。lX X是矩阵,是矩阵,Y Y是向量时,情况与上相同,只是曲线都以是向量时,情况与上相同,只是曲线都以Y Y为共同纵坐标。为共同纵坐标。lX X、Y Y是同维矩阵时,则以是同维矩阵时,则以X X、Y Y对应列元素为横、纵坐对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。标分别绘制曲线,曲线条数等于矩阵的列数。ls s的意义与其在的意义与其在plot(X,s)plot(X,s)格式中的意义相同。格式中的意义相同。西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础plot的基本调用格式(的基本调用格式(3)plot(X1,Y1,s1,X2,Y2,s2,plot(X1,Y1,s1,X2,Y2,s2,)l在此格式中,每个绘线在此格式中,每个绘线“三元组三元组”(X(X,Y Y,s)s)的结构和作用,与的结构和作用,与plot(X,Y,s)plot(X,Y,s)相同。不同的相同。不同的“三元组三元组”之间没有约束关系。之间没有约束关系。西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础例例1 1 二维曲线绘图基本指令演示二维曲线绘图基本指令演示 t=(0:pi/50:2*pi);k=0.4:0.1:1;Y=cos(t)*k;subplot(2,2,1),plot(t,Y)subplot(2,2,2),plot(t),subplot(2,2,3),plot(Y),subplot(2,2,4),plot(Y,t)图解图解 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础x1=linspace(0,2*pi,100);x2=linspace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x=x1;x2;x3;y=y1;y2;y3;plot(x,y,x1,y1-1)图解图解 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础t=(0:pi/100:pi);y1=sin(t)*1,-1;y2=sin(t).*sin(9*t);t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);plot(t,y1,r:,t,y2,b,t3,y3,bo)axis(0,pi,-1,1)及其包络线。形用图形表示连续调制波例)9sin()sin(2tty 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础画一组椭圆。采用模型例12532222ayaxth=0:pi/50:2*pi;a=0.5:.5:4.5;X=cos(th)*a;Y=sin(th)*sqrt(25-a.2);plot(X,Y)axis(equal)xlabel(x),ylabel(y)title(A set of Ellipses)西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础2、极坐标绘图、极坐标绘图极坐标绘图的函数为极坐标绘图的函数为polar,其调用格式为:,其调用格式为:polar(theta,rho,s)按照按照s所定义的线形、标记点和颜色绘制由所定义的线形、标记点和颜色绘制由theta、rho所确定的曲线,其中绘图参数所确定的曲线,其中绘图参数theta、rho分别为角度和分别为角度和半径。半径。例例:绘制绘制r=sin(t)cos(t)的极坐标图。的极坐标图。程序如下:程序如下:t=0:pi/50:2*pi;r=sin(t).*cos(t);polar(t,r,-*);图解图解 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础二、曲线的色彩、线型和数据点形二、曲线的色彩、线型和数据点形(一一)色彩和线型:允许设置值色彩和线型:允许设置值线线 型型色色 彩彩符号符号含义含义符号符号含义含义-实线实线b蓝蓝g绿绿:虚线虚线(冒号线)(冒号线)r红红c青青-.点划线点划线m品红品红y黄黄-双划线双划线k黑黑w白白 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础(二二)数据点形数据点形符符 号号含含 义义符符 号号含含 义义.实心黑点实心黑点d菱形符菱形符diamond+十字符十字符h六角星符六角星符hexagram*八线符八线符o空心圆圈空心圆圈朝上三角符朝上三角符p五角星符五角星符pentagram朝左三角符朝左三角符s方块符方块符square朝右三角符朝右三角符x叉字符叉字符v朝下三角符朝下三角符数数据据点点形形的的合合法法取取值值如果想在图上标志数据点,那么就必须在如果想在图上标志数据点,那么就必须在plot指令中对数据点形加以设置。指令中对数据点形加以设置。数据点形表中的任一个字符既可单独使用,也可和线型、色彩表中的任何字数据点形表中的任一个字符既可单独使用,也可和线型、色彩表中的任何字符组合使用。符组合使用。西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础三、坐标刻度和分格线控制三、坐标刻度和分格线控制(高层)坐标控制指令(高层)坐标控制指令axis的用途很多,下表的用途很多,下表列出其常用功能。列出其常用功能。(一)坐标控制(一)坐标控制坐标轴控制方式、取向和范围坐标轴控制方式、取向和范围坐标轴的高宽比坐标轴的高宽比指指 令令含含 义义指指 令令含含 义义axis auto使用缺省设置使用缺省设置axis equal纵、横轴采用等长刻度纵、横轴采用等长刻度axis manual使当前坐标范围不变使当前坐标范围不变axis fill在在manual方式下起作用,方式下起作用,使坐标充满整个绘图区使坐标充满整个绘图区axis off取消轴背景取消轴背景axis image纵、横轴采用等长刻度纵、横轴采用等长刻度,且坐且坐标框紧贴数据范围标框紧贴数据范围axis on使用轴背景使用轴背景axis normal缺省矩形坐标系缺省矩形坐标系axis ij矩阵式坐标,原点在左上方矩阵式坐标,原点在左上方axis square产生正方形坐标系产生正方形坐标系axis xy普通直角坐标,原点在左下普通直角坐标,原点在左下方方axis tight把数据范围直接设为坐标范把数据范围直接设为坐标范围围axis(V)V=x1,x2,y1,y2;V=x1,x2,y1,y2,z1,z2;人工设定坐标范围。设人工设定坐标范围。设定植:二维,定植:二维,4个;三个;三维,维,6个个axis vis3d保持高宽比不变,用于三维保持高宽比不变,用于三维旋转时避免图形大小变化旋转时避免图形大小变化说明:坐标范围设定向量说明:坐标范围设定向量V中的元素必须服从:中的元素必须服从:x1x2,y1y2,z10.05);ts=max(tt);plot(t,y,r-,LineWidth,3)axis(-inf,6*pi,0.6,inf)set(gca,Xtick,2*pi,4*pi,6*pi,Ytick,0.95,1,1.05,max(y)grid ontitle(it y=1-e-alphatcosomegat)text(13.5,1.2,fontsize12alpha=0.3)text(13.5,1.1,fontsize12omega=0.7)hold on;plot(ts,0.95,bo,MarkerSize,10);hold offcell_string1=fontsize12uparrow;cell_string2=fontsize16 fontname隶书隶书镇定时间镇定时间;cell_string3=fontsize6 ;cell_string4=fontsize14rmt_s=num2str(ts);text(ts,0.85,cell_string)xlabel(fontsize14 bft rightarrow)ylabel(fontsize14 bfy rightarrow)图解图解 例:绘制二阶系统阶跃响应例:绘制二阶系统阶跃响应 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础五、多次叠绘、双纵坐标和多子图五、多次叠绘、双纵坐标和多子图多次叠绘多次叠绘 双纵坐标图双纵坐标图 多子图多子图多图形窗多图形窗 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础多次叠绘多次叠绘前面已介绍过前面已介绍过plot在同一次调用中画多条曲线的功能。在同一次调用中画多条曲线的功能。实际应用中,还会遇到在已经存在的图上再绘制一条实际应用中,还会遇到在已经存在的图上再绘制一条或多条曲线的情况。为此,或多条曲线的情况。为此,MATLAB提供了以下指令:提供了以下指令:hold on使当前轴及图形保持而不被刷新,准备接受使当前轴及图形保持而不被刷新,准备接受此后将绘制的新曲线此后将绘制的新曲线hold off使当前轴及图形不再具备不刷新的性质使当前轴及图形不再具备不刷新的性质hold当前图形是否具备刷新性质的双向切换开关当前图形是否具备刷新性质的双向切换开关 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础例:在同一坐标内绘制曲线例:在同一坐标内绘制曲线y1=0.2e-0.5xcos(4x)和和y2=2e-0.5xcos(x)程序如下:程序如下:x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);plot(x,y1)hold ony2=2*exp(-0.5*x).*cos(pi*x);plot(x,y2);hold off图解图解 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础双纵坐标图双纵坐标图在实际应用中常常提出这样一种需求:把同一自变在实际应用中常常提出这样一种需求:把同一自变量的两个不同量纲、不同数量级的函数量的变化绘量的两个不同量纲、不同数量级的函数量的变化绘制在同一张图上。制在同一张图上。plotyy(X1,Y1,X2,Y2)以左、右不同纵轴绘制以左、右不同纵轴绘制X1-Y1,X2-Y2两条曲线两条曲线plotyy(X1,Y1,X2,Y2,FUN)以左、右不同纵轴把以左、右不同纵轴把X1-Y1,X2-Y2绘制成绘制成FUN指定形指定形 式的两条曲线式的两条曲线plotyy(X1,Y1,X2,Y2,FUN1,FUN2)以左、右不同纵轴把以左、右不同纵轴把X1-Y1,X2-Y2绘制成绘制成FUN1,FUN2指定的不同形式的两条曲线指定的不同形式的两条曲线 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础例:用不同标度在同一坐标内绘制曲线例:用不同标度在同一坐标内绘制曲线y1=0.2e-0.5xcos(4x)和和y2=2e-0.5xcos(x)程序如下:程序如下:x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2);图解图解 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础多子图多子图MATLAB允许用户在同一图形窗中布置几幅独立的子图,允许用户在同一图形窗中布置几幅独立的子图,具体指令是:具体指令是:subplot(m,n,k)使使(mn)幅子图中的第幅子图中的第k幅成为当前图幅成为当前图subplot(position,left bottom width height)在指定位置上开辟子图,并成为当前图在指定位置上开辟子图,并成为当前图 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础例:在一个图形窗口中同时绘制正弦、余弦、正切、余切曲线,程在一个图形窗口中同时绘制正弦、余弦、正切、余切曲线,程序为:序为:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps);subplot(2,2,1);plot(x,y);title(sin(x);axis(0 2*pi-1 1);subplot(2,2,2);plot(x,z);title(cos(x);axis(0 2*pi-1 1);subplot(2,2,3);plot(x,t);title(tangent(x);axis(0 2*pi-40 40);subplot(2,2,4);plot(x,ct);title(cotangent(x);axis(0 2*pi-40 40);图解图解 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础多图形窗口多图形窗口需要建立多个图形窗口,绘制并保持每一个窗口的图形,可以使用figure命令。每执行一次figure命令,就创建一个新的图形窗口,该窗口自动为活动窗口,若需要还可以返回该窗口的识别号码,称该号码为句柄。句柄显示在图形窗口的标题栏中,即图形窗口标题。用户可通过句柄激活或关闭某图形窗口,而axis、xlabel、title等许多命令也只对活动窗口有效。西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础重新绘制上例4个图形,程序变动后如下:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps);H1=figure,plot(x,y);title(sin(x);axis(0 2*pi-1 1);H2=figure,plot(x,z);title(cos(x);axis(0 2*pi-1 1);H3=figure,plot(x,t);title(tangent(x);axis(0 2*pi-40 40);H4=figure,plot(x,ct);title(cotangent(x);axis(0 2*pi-40 40);西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础交互式图形指令交互式图形指令在在MATLAB中还有若干与鼠标有关的图形中还有若干与鼠标有关的图形操作指令。它们是:操作指令。它们是:ginputgtextlegend 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础ginputx,y=ginput(n)用鼠标从二维图形上获取用鼠标从二维图形上获取n个个点的数据坐标点的数据坐标(x,y)。该指令仅适用于二维图形。该指令仅适用于二维图形。具体操作方法:指令运行后,会把当前图形从后具体操作方法:指令运行后,会把当前图形从后台调到前台,同时鼠标光标变为十字叉;用户可台调到前台,同时鼠标光标变为十字叉;用户可移动鼠标,使十字叉移到待取坐标点;点动鼠标移动鼠标,使十字叉移到待取坐标点;点动鼠标左键,便获得该点数据;此后,用同样的方法,左键,便获得该点数据;此后,用同样的方法,获取其余点的数据;当获取其余点的数据;当n个点的数据全部取到后,个点的数据全部取到后,图形窗便退回后台,机器回到图形窗便退回后台,机器回到ginput执行前的环执行前的环境。境。西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础gtextgtext(arg)用鼠标把字符串或字符串元用鼠标把字符串或字符串元 胞数组胞数组arg放置到图形上放置到图形上该指令对二维、三维图形都适用。该指令对二维、三维图形都适用。具体操作方法:指令运行后,当前图形窗具体操作方法:指令运行后,当前图形窗自动由后台转为前台,鼠标光标变为十字自动由后台转为前台,鼠标光标变为十字叉;移动鼠标,使十字叉移到希望的位置;叉;移动鼠标,使十字叉移到希望的位置;点动鼠标右键,点动鼠标右键,arg所承载的字符将被放所承载的字符将被放在紧靠十字叉点的在紧靠十字叉点的“第一象限第一象限”位置。位置。西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础legendlegend(arg,pos)在指定位置建立图例在指定位置建立图例legend off擦除当前图上的图例擦除当前图上的图例说明:说明:l输入宗量输入宗量arg是图例中的说明文字注释。是图例中的说明文字注释。l输入宗量输入宗量pos是图例在图上位置的指定符,它可取下表中的值。是图例在图上位置的指定符,它可取下表中的值。lLegend在图形窗中产生后,可用鼠标对其进行拖拉,即把鼠在图形窗中产生后,可用鼠标对其进行拖拉,即把鼠标光标移到图例上,按住鼠标左键;图例将随鼠标移动,直标光标移到图例上,按住鼠标左键;图例将随鼠标移动,直到满意位置;放开按键便完成操作。到满意位置;放开按键便完成操作。pos取值01234-1图例位置自动取最佳位右上角(缺省值)左上角左下角右下角图右侧 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础t=0:0.1:10;y1=sin(t);y2=cos(t);plot(t,y1,r,t,y2,b-)x=1.7*pi;1.6*pi;y=-0.3;0.8;s=sin(t);cos(t);gtext(s);title(正弦和余弦曲线正弦和余弦曲线);xlabel(时间时间t),ylabel(正弦、余弦正弦、余弦)gridxx,yy=ginput(5)hold onplot(xx,yy,g)legend(正弦正弦,余弦余弦,基准线基准线)axis squarehold off 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础三维绘图的基本操作三维绘图的基本操作 三维线图指令三维线图指令plot3 三维网线图和曲面图三维网线图和曲面图透视、镂空和裁切透视、镂空和裁切 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础三维线图指令三维线图指令plot3在三维图形指令中,在三维图形指令中,plot3plot3最易于理解,最易于理解,它使用格式与它使用格式与plotplot十分相似。十分相似。lplot3(X,Y,Z,s)plot3(X,Y,Z,s)lplot3(X1,Y1,Z1,s1,X2,Y2,Z2,splot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,2,)西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础t=0:pi/50:10*pi;y1=sin(t);y2=cos(t);plot3(y1,y2,t);title(helix),text(0,0,0,origin);xlabel(sin(t),ylabel(cos(t),zlabel(t);grid图解图解例:例:绘制三维螺旋曲线,其程序为:西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础例:三维曲线绘图t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,b-,x,y,z,rd);view(-82,58);box on;legend(链链,宝石宝石)西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础三维网线图和曲面图三维网线图和曲面图三维网线图和曲面图的绘制比线图稍显复杂,主要表现于:三维网线图和曲面图的绘制比线图稍显复杂,主要表现于:绘图数据的准备;三维图形的色彩、明暗、光照和视点处绘图数据的准备;三维图形的色彩、明暗、光照和视点处理。理。三维网线图和曲面图三维网线图和曲面图的区别:的区别:网线图:网线图:线条有颜色,空挡是白色的线条有颜色,空挡是白色的(无颜色)(无颜色)曲面图:曲面图:线条是黑色的,空挡有颜色线条是黑色的,空挡有颜色(把线条之间的空挡填(把线条之间的空挡填充颜色,沿充颜色,沿z轴按每一网格变化轴按每一网格变化 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础三维图形的数据准备三维图形的数据准备画函数画函数z=f(x,y)所代表的三维空间曲面,所代表的三维空间曲面,需要做以下数据准备:需要做以下数据准备:(1)确定自变量)确定自变量x,y的取值范围和取值间的取值范围和取值间隔。隔。x=x1:dx:x2;y=y1:dy:y2;(2)构成)构成xy平面上的自变量平面上的自变量“格点格点”矩阵。矩阵。X,Y=meshgrid(x,y);(3)计算在自变量采样)计算在自变量采样“格点格点”上的函数上的函数值,即值,即Z=f(X,Y)。西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础网线图、曲面图基本指令格式网线图、曲面图基本指令格式mesh(Z)以以Z矩阵列、行下标为矩阵列、行下标为x,y轴自变量,画网线图轴自变量,画网线图mesh(X,Y,Z)最常用的网线图调用格式最常用的网线图调用格式mesh(X,Y,Z,C)最完整调用格式,画由最完整调用格式,画由C指定用色的网线图指定用色的网线图surf(Z)以以Z矩阵列、行下标为矩阵列、行下标为x,y轴自变量,画曲面图轴自变量,画曲面图surf(X,Y,Z)最常用的曲面图调用格式最常用的曲面图调用格式surf(X,Y,Z,C)最完整调用格式,画由最完整调用格式,画由C指定用色的曲面图指定用色的曲面图 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础例:绘制三维网格曲面图x=0:0.15:2*pi;y=0:0.15:2*pi;z=sin(y)*cos(x);mesh(x,y,z);图解图解 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础例例:绘制三维曲面图形绘制三维曲面图形x=0:0.15:2*pi;y=0:0.15:2*pi;z=sin(y)*cos(x);surf(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-label);title(3-D surf);图解图解 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础或者x=0:0.15:2*pi;y=0:0.15:2*pi;X,Y=meshgrid(x,y);z=sin(Y)*cos(X);surf(X,Y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-label);title(3-D surf)西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础透视、镂空和裁切透视、镂空和裁切图形的透视图形的透视图形的镂空图形的镂空 裁切裁切 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础图形的透视图形的透视MATLAB在采用缺省设置画在采用缺省设置画mesh图形时,对图形时,对叠压在后面的图形采取了消隐措施。但有时却叠压在后面的图形采取了消隐措施。但有时却需要透视效果。为此,需要透视效果。为此,MATLAB提供了一个提供了一个控制消隐的指令如下:控制消隐的指令如下:hidden off透视被叠压的图形透视被叠压的图形hidden on消隐被叠压的图形消隐被叠压的图形 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础透视透视X0,Y0,Z0=sphere(30);X=2*X0;Y=2*Y0;Z=2*Z0;surf(X0,Y0,Z0);shading interphold on,mesh(X,Y,Z),colormap(hot),hold offhidden offaxis equal,axis off 图解 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础图形的镂空图形的镂空P=peaks(30);P(18:20,9:15)=NaN;surfc(P);colormap(summer)light(position,50,-10,5),lighting flatmaterial(0.9,0.9,0.6,15,0.4)图解 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础裁切裁切clf,x=-8:0.2:8;y=x;X,Y=meshgrid(x,y);ZZ=X.2-Y.2;ii=find(abs(X)6|abs(Y)6);ZZ(ii)=zeros(size(ii);surf(X,Y,ZZ),shading interp;colormap(copper)light(position,0,-15,1);lighting phongmaterial(0.8,0.8,0.5,10,0.5)西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础符号函数的简易绘图函数这些指令的这些指令的特点特点:无需数据准备,直接画出字符串函数或符号函:无需数据准备,直接画出字符串函数或符号函数的图形。这一系列指令名称的前两个字符冠以数的图形。这一系列指令名称的前两个字符冠以“ez”,其含义,其含义就是就是“Easy to”。指令名指令名含含 义义ezcontour画等位线画等位线ezcontourf画填色等位线画填色等位线ezmesh画网线图画网线图ezmeshc画带等位线的网线图画带等位线的网线图ezplot画二维曲线画二维曲线ezplot3画三维曲线画三维曲线ezpolar画极坐标曲线画极坐标曲线ezsurf画曲面图画曲面图ezsurfc画带等位线的曲面图画带等位线的曲面图 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础一元函数简捷绘图指令一元函数简捷绘图指令 lezplot(F)在在-2pi,2pi自变量范自变量范围中,绘制围中,绘制F曲线曲线lezplot(F,xmin,xmax)在指在指定自变量范围,绘制定自变量范围,绘制F曲线曲线lezplot(F,xmin,xmax,fig)在在fig指定的图形窗内,在指定自变量范围,绘指定的图形窗内,在指定自变量范围,绘制制F曲线曲线 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础二元函数简捷绘图指令二元函数简捷绘图指令 ezsurf(F,dom_f,ngrid)在指定矩形域上,用指定格点数画二元函数曲面在指定矩形域上,用指定格点数画二元函数曲面ezsurf(F,dom_f,circ)在圆域上,画二元函数曲面在圆域上,画二元函数曲面ezsurf(x,y,z,dom_st,ngrid)在指定矩形域上,用二元参量方式画曲面在指定矩形域上,用二元参量方式画曲面ezsurf(x,y,z,dom_st,circ)在圆域上,用在圆域上,用二元参量方式画曲面二元参量方式画曲面 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础其它绘图指令fill 基本二维绘图函数基本二维绘图函数fplot 绘制函数图函数绘制函数图函数bar 绘制直方图绘制直方图polar 绘制极坐标图绘制极坐标图hist 绘制统计绘制统计直方图直方图 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础 stairs 绘制阶梯图绘制阶梯图 stem 绘制火柴杆图绘制火柴杆图 rose 绘制统计扇形图绘制统计扇形图 comet 绘制彗星曲线绘制彗星曲线 errorbar 绘制误差棒图绘制误差棒图 compass 复数向量图复数向量图(罗盘图罗盘图)feather 复数向量投影图复数向量投影图(羽毛图羽毛图)西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础 quiver 向量场图向量场图 area 区域图区域图 pie 饼图饼图 convhull 凸壳图凸壳图 scatter 离散点图离散点图Contour3等高线等高线Meshc带等高线的三维网格曲面函数带等高线的三维网格曲面函数Meshz带底座的三维网格曲面函数带底座的三维网格曲面函数 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础思考:思考:。命令来标明每一条曲线记得要使用,条曲线画在同一张图上到五条曲线。请将这五,可得变化到的值由。当的值介于其中多项式的定义如下:、legendmxxmyChebysheve51 1,1)(cos*cos(11 西安邮电学院计算机系西安邮电学院计算机系MatlabMatlab程序设计基础程序设计基础等简捷指令)(要求:不得采用的完整光滑曲面。绘制区间内,、在ezmeshezsurfyyxzyx,sincos5.1,5.1,5.1,5.12部分切平。求将部分镂空;而切面图要。镂空图要求将图形的镂空图和切面图子图,分别绘制上题中、将图形窗划分为两个5.01.03zz
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


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

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


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