5MATLAB绘图资料

上传人:桔**** 文档编号:585681705 上传时间:2024-09-03 格式:PPT 页数:87 大小:4.48MB
返回 下载 相关 举报
5MATLAB绘图资料_第1页
第1页 / 共87页
5MATLAB绘图资料_第2页
第2页 / 共87页
5MATLAB绘图资料_第3页
第3页 / 共87页
5MATLAB绘图资料_第4页
第4页 / 共87页
5MATLAB绘图资料_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《5MATLAB绘图资料》由会员分享,可在线阅读,更多相关《5MATLAB绘图资料(87页珍藏版)》请在金锄头文库上搜索。

1、第五章第五章 MATLAB绘图绘图p MATLAB二维数据曲线图的绘制p MATLAB三维图形的绘制p MATLAB图形修饰处理p MATLAB图像处理与动画制作 强大的绘图功能是MATLAB的特点之一。MATLAB提供了一系列的绘图函数,用户不需要多考虑绘图细节,只需给出一些基本参数就能得到所需图形,这一类函数称为高层绘图函数高层绘图函数。除此之外,MATLAB还提供了直接对图形句柄进行操作的低层低层绘图函数绘图函数。这类操作将图形的每个图形元素(如坐标轴、曲线、曲面或文字等)看作是一个独立的对象,系统给每个图形对象分配一个句柄,以后可以通过该句柄对该图像元素进行操作,而不影响图形的其它部分

2、。 高层绘图操作简单明了、方便高效,是用户最常使用的绘用户最常使用的绘图方法图方法。而低层绘图操作控制和表现图形的能力更强,为用户更加自主地绘制图形创造了条件。事实上,MATLAB的高层绘图函数都是利用低层绘图函数而建立起来的。5.1 二维图形二维图形二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,除直角坐标系外,还可采用对数坐标、极坐标。数据点可以用向量或矩阵形式给出,类型可以是实型或复型。1. 绘制二维曲线的基本函数绘制二维曲线的基本函数 plot函数函数plot函数的基本调用格式为:plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。例

3、5.1 在0X2区间内,绘制曲线y=2e-0.5xsin(2x)。 程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y)注:求y时,指数函数和正弦函数之间要用点乘运算,而因2是标量,所以2与指数函数之间可以用乘法运算。这样,x和y包包含的元素个数相等,y(i)是x(i)的函数值。例例5.2 绘制曲线 程序如下:t=-pi:pi/100:pi;x=t.*cos(3*t);y=t.*sin(t).*sin(t);plot(x,y); 注:这是以参数方程形式给出的二维曲线,只要给定参数向量,再分别求出x,y向量即可绘出曲线。以上

4、提到plot函数的自变量x,y为长度相同的向量,这是最常见和最基本的情况。实际应用中还有一些变化。(1)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。x=linspace(0,2*pi,100);y=sin(x);cos(x);plot(x,y)首先产生一个行向量x,然后分别求取行向量sin(x)和cos(x),并将它们构成矩阵y的两行,最后在同一坐标中同时绘制出两条曲线。x=linspace(0,2*pi,100);y=sin(x),cos(x);plot(x,y)?x=linspace(0,2*pi,100)

5、;y=sin(x);cos(x);plot(x,y)?x=linspace(0,2*pi,100);y=sin(x),cos(x);plot(x,y)?(2)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。t=linspace(0,2*pi,100);x=t;t;y=sin(t);cos(t);plot(x,y)(3) plot函数最简单的调用格式是只包含一个输入参数:plot(x)x为实向量时,以该向量元素的下标为横坐标,元素值为纵坐标绘制拆线图。x为复数向量时,分别以该向量元素的实部和虚部为横、纵坐标绘制曲线。注:程序中的i是虚数单位,这样x是一

6、个复数向量。i 不能被赋其他的值。t=0:0.01:2*pi;x=exp(i*t); plot(x)程序如下:当x是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于x的列数。当x是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。t=0:0.01:2*pi;x=exp(i*t); y=x;2*x;3*x;plot(y)2含多个输入参数的含多个输入参数的plot函数函数含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,xn,yn)(1)当输入参数都为向量时,x1和y1,x2和y2,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。每一向量

7、对绘制出一条曲线,这样可以在同一坐标内绘制多条曲线x=linspace(0,2*pi,100);plot(x,sin(x),x,2*sin(x),x,3*sin(x)x=linspace(0,2*pi,100);t=0:0.01:2*pi;plot(x,sin(x),t,2*cos(t)(2)当输入参数有矩阵形式时,配对的x,y按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵列数。x=linspace(0,2*pi,100);y1=sin(x);y2=2*sin(x);y3=3*sin(x);x=x;x;x;y=y1;y2;y3;plot(x,y,x,cos(x)3含选项的含选项的plo

8、t函数函数含选项的plot函数调用格式为:plot(x1,y1,选项1,x2,y2, 选项2,xn,yn,选项n)MATLAB提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号。可组合使用。例:b-.表示蓝色点划线,y:d表示黄色虚线并用菱形符标记数据点。当选项省略时,MATLAB规定,线型一律用实线,颜色将根据曲线的先后顺序依次采用下表中的前7种颜色。线型颜色标记符号- 实线b 蓝色. 点s 方块符:虚线g 绿色o 圆圈d 菱形符-. 点划线r 红色x 叉号v 朝下三角符号- 双划线c 青色+ 加号 朝上三角符号m 品红色* 星号 朝右三角符号k 黑色p 五角星符w 白色h 六

9、角星符例例5.3 用不同线型和颜色在同一坐标内绘制曲线用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2x)及其包络线。及其包络线。程序如下: x=(0:pi/100:2*pi); y1=2*exp(-0.5*x)*1,-1; y2=2*exp(-0.5*x).*sin(2*pi*x); x1=(0:12)/2; y3=2*exp(-0.5*x1).*sin(2*pi*x1); plot(x,y1,g:,x,y2,b-,x1,y3,rp);plot函数中包含三组绘图函数,第一组用绿色虚线绘出两根包络线,第二组用蓝色双划线绘出曲线y,第三组用红色五角星离散标出数据点。程序中第一条命

10、令用矩阵转置运算符将行向量转换成列向量,不用将如何?若想得到上述图形,程序如何修改?? Error using = mtimesInner matrix dimensions must agree. x=(0:pi/100:2*pi); y1=2*exp(-0.5*x); y1=y1;-y1; y2=2*exp(-0.5*x).*sin(2*pi*x); x1=(0:12)/2; y3=2*exp(-0.5*x1).*sin(2*pi*x1); plot(x,y1,g:,x,y2,b-,x1,y3,rp);4双纵坐标函数双纵坐标函数plotyy plotyy函数是MATLAB 5.X新增的函数

11、。它能把函数值具有不同量纲、不同数量级的两个函数绘制在同一坐标中。调用格式为: plotyy(x1,y1,x2,y2) 其中x1-y1对应一条曲线,x2-y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1-y1数据对,右纵坐标用于x2-y2数据对。例例5.4 用不同标度在同一坐标内绘制曲线用不同标度在同一坐标内绘制曲线y1=e-0.5xsin(2x)及曲线及曲线y2=1.5e-0.1xsin(x)。 程序如下: x1=0:pi/100:2*pi; x2=0:pi/100:3*pi; y1=exp(-0.5*x1).*sin(2*pi*x1); y2=1.5*exp(-0.1*

12、x2).*sin(x2); plotyy(x1,y1,x2,y2); 5.1.2 绘制图形的辅助操作绘制图形的辅助操作 1. 图形标注图形标注在绘制图形的同时,可以对图形加一些说明,如图形名称、坐标轴说明及图形某一部分的含义等,这些操作称为添加图形标注。 有关图形标注函数的调用格式为: title(图形名称) xlabel(x轴说明) ylabel(y轴说明) text(x,y,图形说明) legend(图例1,图例2,)添加文本说明也可用gtext命令,执行该命令时,十字坐标光标自动跟随鼠标移动,单击鼠标即可将文本置在十字光标处,如gtext(cos(x)除legend,同样适用三维图形2.

13、 坐标控制坐标控制在绘制图形时,MATLAB可以自动根据要绘制的曲线数据的范围选择合适的坐标刻度,使得曲线能够尽可能清晰地显示出来。所以,一般情况下用户不必选择坐标轴的刻度范围。但若对坐标系不满意,可利用axis对其重新设定函数的调用格式为:axis(xmin xmax ymin ymax zmin zmax)若只给出前4个参数,MATLAB按照给定x,y轴的最大最小值选择坐标系范围,以便绘制合适的二维图形。给出全部参数,设定3个坐标轴的范围,绘三维图形。axis函数功能丰富,常用的用法还有:函数功能丰富,常用的用法还有:axis equal 纵、横坐标轴采用等长刻度axis square 产

14、生正方形坐标系(缺省为矩形)axis auto 使用缺省设置axis off 取消坐标轴axis on 显示坐标轴grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。例例5.5 绘制分段函数曲线并添加图形标注。 x=linspace(0,10,100);y=;for x0=x if x0=8 y=y,1; elseif x0=6 y=y,5-x0/2; elseif x0=4 y=y,2; elseif x0=0 y=y,sqrt(x0); endendplo

15、t(x,y)axis(0 10 0 2.5) %设置坐标轴title(分段函数曲线); %加图形标题xlabel(Variable X); %加X轴说明ylabel(Variable Y); %加Y轴说明text(2,1.3,y=x1/2); %在指定位置添加图形说明text(4.5,1.9,y=2);text(7.3,1.5,y=5-x/2);text(8.5,0.9,y=1);3. 图形保持图形保持一般情况下,绘图命令每执行一次就刷新当前图形窗口,图形窗口原有图形将不复存在。若希望在已存在的图形上再继续添加新的图形,可使用图形保持命令hold。hold on/off命令控制是保持原有图形还

16、是刷新原有图形,不带参数的hold命令在两种状态之间进行切换。 例5.6 用图形保持功能在同一坐标内绘制曲线y=2e-0.5xsin(2x)及其包络线。 程序如下:x=(0:pi/100:2*pi);y1=2*exp(-0.5*x)*1,-1;y2=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y1,b:);axis(0,2*pi,-2,2); %设置坐标hold on; %设置图形保持状态plot(x,y2,k);legend(包络线,包络线,曲线y); %加图例hold off; %关闭图形保持grid %网格线控制4. 图形窗口的分割图形窗口的分割实际应用中,经常需

17、要在一个图形窗口内绘制若干个独立的图形,这就需要对图形窗口进行分割。分割后的图形窗口由若干个绘图区组成,每一个绘图区可以建立独立的坐标系并绘制图形。同一个图形窗口中的不同图形称为子图。MATLAB提供了subplot函数,用来将当前图形窗口分割成若干个绘图区。每个区域代表一个独立的子图,也是一个独立的坐标系,可以通过subplot函数激活某一区,该区为活动区,所发出的绘图命令都是作用于活动区域。 subplot函数的调用格式为:函数的调用格式为:subplot(m,n,p)该函数将当前图形窗口分成mn个绘图区,区号按行优先排号,且选定第p个为当前活动区。例5.7 在一个图形窗口中以子图形式同时

18、绘制正弦、余弦、正切、余切曲线。 程序如下: 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); sub

19、plot(2,2,4); plot(x,ct);title(cotangent(x);axis (0,2*pi,-40,40);例中将图形窗口分成22个绘图区,编号从1到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); subplot(2,2,1); %选择22个区中的1号区 stairs(x,y);title(sin(x)-1);axis (0,2*pi,-1,1); subplot(2,1,2

20、); %选择21个区中的2号区 stem(x,y);title(sin(x)-2);axis (0,2*pi,-1,1); subplot(4,4,3); %选择44个区中的3号区 plot(x,y);title(sin(x);axis (0,2*pi,-1,1); subplot(4,4,4); %选择44个区中的4号区 plot(x,z);title(cos(x);axis (0,2*pi,-1,1); subplot(4,4,7); %选择44个区中的7号区 plot(x,t);title(tangent(x);axis (0,2*pi,-40,40); subplot(4,4,8);

21、%选择44个区中的8号区 plot(x,ct);title(cotangent(x);axis (0,2*pi,-40,40);本质上讲,这还是一种规则分割。后面将进一步说明,利用坐标轴对象操作可以对图形窗口进行任意分割。5.1.3 绘制二维图形的其他函数绘制二维图形的其他函数1. 其他形式的线性直角坐标图其他形式的线性直角坐标图在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项)stairs(x,y,选项)stem(x,y,选项)fill(x1,y1,选项1,x2,y2,选项2,)前3个函数用法与plot函数相似,只是没有多输入变量形

22、式。fill函数按向量元素的下标次序依次用直线段连接x,y对应的数据点,假如这样连接所得折线不封闭,MATLAB会自动将其首尾相连,构成封闭多边形。然后将多边形内部涂满指定的颜色。例5.8 分别以条形图、填充图、阶梯图和杆图形式绘制曲线y=2e-0.5x。 程序如下: x=0:0.35:7; y=2*exp(-0.5*x); subplot(2,2,1);bar(x,y,g); title(bar(x,y,g);axis(0,7,0,2); subplot(2,2,2);fill(x,y,r); title(fill(x,y,r);axis(0,7,0,2); subplot(2,2,3);s

23、tairs(x,y,b); title(stairs(x,y,b);axis(0,7,0,2); subplot(2,2,4);stem(x,y,k); title(stem(x,y,k);axis(0,7,0,2);2极坐标图极坐标图polar函数用来绘制极坐标图,其调用格式为:polar(theta,rho,选项)其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。例5.9 绘制=sin(2)cos(2)的极坐标图。 程序如下: theta=0:0.01:2*pi; rho=sin(2*theta).*cos(2*theta); polar(theta,rho,k

24、); 3对数坐标图形对数坐标图形 MATLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为: semilogx(x1,y1,选项1,x2,y2,选项2,) semilogy(x1,y1,选项1,x2,y2,选项2,) loglog(x1,y1,选项1,x2,y2,选项2,)选项的定义与plot函数一致,所不同的是坐标轴的选取。semilogx:x轴为常用对数刻度,y轴仍保持线性刻度。semilogy:y轴为常用对数刻度,而x轴仍保持线性刻度.loglog:x,y轴均采用常用对数刻度。例5.10 绘制y=10x2的对数坐标图并与直角线性坐标图进行比较。 程序如下: x=0:0.1:10; y

25、=10*x.*x; subplot(2,2,1);plot(x,y);title(plot(x,y);grid on; subplot(2,2,2);semilogx(x,y);title(semilogx(x,y); grid on; subplot(2,2,3);semilogy(x,y);title(semilogy(x,y); grid on; subplot(2,2,4);loglog(x,y);title(loglog(x,y);grid on; 除冒号表达式、linspace,MATLAB还提供了一个实用的函数logspace,它可以按对数等间距地分布来产生一个向量logspac

26、e(a,b,n),n缺省时为50。4. 对函数自适应采样的绘图函数对函数自适应采样的绘图函数前面的很多绘图函数,基本操作方法为:先取足够稠密的自变量向量x,然后计算出函数值向量y,最后用绘图函数绘图。在取数据点时一般是等间隔采样,这对绘制高频率变化的函数不够精确。例如函数f(x)=cos(tan(x),在(0,1)范围有无限多个振荡周期,函数变化率大。为提高精度,不能等间隔采样,在变化率大的区段密集采样。fplot函数可自适应地对函数进行采样,能更好地反映函数的变化规律。 fplot函数的调用格式为:函数的调用格式为: fplot(fname,lims,tol,选项选项)filename为函数

27、名,以字符串形式出现。它可以是由多个分量函数构成的行向量,分量函数可以是函数的直接字符串,也可以是内部函数名或函数文件名,但自变量都必须为x。lims为x,y的取值范围,以行向量形式出现,取二元向量xmin,xmax时,人为确定x轴范围,取四元向量xmin,xmax,ymin,ymax时,人为确定x,y轴的范围。tol为相对允许误差,缺省时为2e-3。选项定义与plot函数相同。例:fplot(sin(x),0,2*pi,*)fplot(sin(x),cos(x),0,2*pi,-1.5,1.5,1e-3,r.)例5.11 用fplot函数绘制f(x)=cos(tan(x)的曲线 先建立函数文

28、件myf.m: function y=myf(x) y=cos(tan(pi*x); 再用fplot函数绘制myf.m函数的曲线: fplot(myf,-0.4,1.4,1e-4)5. 其他形式的图形其他形式的图形MATLAB提供的绘图函数还有很多,例如,用来表示各元素占总和的百分比的饼图、复数的相量图等等。例5.12 绘制图形:(1)某次考试优秀、良好、中等、及格、不及格的人数分别为:7,17,23,19,5,试用饼图作成绩统计分析。(2)绘制复数的相量图:3+2i、4.5-i和-1.5+5i。程序如下:subplot(1,2,1);pie(7,17,23,19,5);title(饼图);l

29、egend(优秀,良好,中等,及格,不及格);subplot(1,2,2);compass(3+2i,4.5-i,-1.5+5i);title(相量图);5.2 三维图形三维图形 5.2.1 绘制三维曲线的基本函数绘制三维曲线的基本函数 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项选项1,x2,y2,z2,选项选项2,xn,yn,zn,选项选项n) 其中每一组x,y,z组成一组曲线的坐标参数,选项的定义与plot函数相同。均为一维向量时,构成一条三维曲线,当为同维矩阵时,以对应列绘制三维曲线,曲线条数等于矩阵列数。例5.13 绘制空间曲线参数方程

30、 程序如下: t=0:pi/50:2*pi; x=8*cos(t); y=4*sqrt(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;5.2.2 三维曲面三维曲面绘制 所代表的三维曲面图,先要在xy平面选定一矩形区域,假定矩形区域 ,然后将 在x方向分成m份,将 在y方向分成n份,由各划分点分别作平等于两坐标轴的直线,将区域D分成 个小矩形,生成代表每一个小矩形顶点坐标的平面网格坐标矩阵

31、,最后利用相关函数绘图1平面网格坐标矩阵的生成平面网格坐标矩阵的生成(1)利用矩阵运算生成。x=a:dx:b; y=(c:dy:d);X=ones(size(y)*x;Y=y*ones(size(x);上述语句执行后,矩阵X的每一行都是向量x,行数等于向量y中元素的个数,Y中每一列都是向量y,列数等于向量x的元素个数。(2)利用meshgrid函数生成。x=a:dx:b; y=c:dy:d;X,Y=meshgrid(x,y);语句执行后,所得到的网格坐标矩阵X,Y与(1)得到的相同。当x=y时,meshgrid函数可以写成meshgrid(x)例5.14 已知6x30,15y36,求不定方程2

32、x+5y=126的整数解。程序如下:x=7:29; y=16:35;x,y=meshgrid(x,y); %在7,2916,35区域生成网格坐标z=2*x+5*y;k=find(z=126); %找出解的位置 x(k),y(k) %输出对应位置的x,y即方程的解ans = 8 13 18 23ans = 22 20 18 16输出为:2. 绘制三维曲面的函数绘制三维曲面的函数MATLAB提供了mesh函数和surf函数来绘制三维曲面图。mesh函数用于绘制三维网格图。在不需要绘制特别精细的三维曲面时,可以通过三维网格图来表示三维曲面。surf用于绘制三维曲面图,各线条之间的补面用颜色填充。 s

33、urf函数和mesh函数的调用格式为: mesh(x,y,z,c) surf(x,y,z,c)c用于指定在不同高度下的颜色范围,c省略时,c=z,亦即颜色正比于图形的高度,可得出层次分明的三维图。ox,y,z是维数相同的矩阵。x,y是网格坐标矩阵,z是网格点上的高度矩阵。ox,y省略时,把z矩阵的列下标当做x轴坐标,行下标当做y轴坐标,然后绘制三维曲面。ox,y是向量时,要求x的长度必须等于z矩阵的列数,y的长度等于z矩阵的行数,x,y向量元素的组合构成网格点的x,y坐标,z坐标取自Z矩阵,然后绘制三维曲面图。例例5.15 用三维曲面图表现函数用三维曲面图表现函数z=sin(y)cos(x)。

34、 程序1: x=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); 程序2: x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x); surf(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(surf); 程序3: x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x); plo

35、t3(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(plot3-1);grid;例例5.16 绘制两个直径相等的圆管的相交图形。绘制两个直径相等的圆管的相交图形。程序如下程序如下:%两个等直径圆管的交线两个等直径圆管的交线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

36、+1);y2=r*cos(theta); %生成第二个圆管的坐标矩阵生成第二个圆管的坐标矩阵z2=r*sin(theta);surf(x1,y1,z1); %绘制竖立的圆管绘制竖立的圆管axis equal,axis offhold onsurf(x2,y2,z2); %绘制平放的圆管绘制平放的圆管axis equal,axis offtitle(两个等直径圆管的交线两个等直径圆管的交线);hold off例例5.17 分析由函数分析由函数z=x2-2y2构成的曲面形状及与平面构成的曲面形状及与平面z=a的交的交线。线。 程序如下:程序如下: x,y=meshgrid(-10:0.2:10);

37、 z1=(x.2-2*y.2)+eps; %第第1个曲面个曲面 a=input(a=?); z2=a*ones(size(x); %第第2个曲面个曲面 subplot(1,2,1);mesh(x,y,z1);hold on;mesh(x,y,z2); %分别画出两个曲面分别画出两个曲面 v=-10,10,-10,10,-100,100;axis(v);grid; %第第1子图的坐标设置子图的坐标设置 hold off; r0=abs(z1-z2)0.5);x(i)=NaN;plot(x,y);例例5.24 绘制两个球面,其中一个球在另一个球里面,将外面的球裁绘制两个球面,其中一个球在另一个球里

38、面,将外面的球裁掉一部分,使得能看见里面的球。掉一部分,使得能看见里面的球。程序如下:x,y,z=sphere(20);%生成外面的大球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 5.4 隐函数绘图隐函数绘图MATLA

39、B提供了一个ezplot函数绘制隐函数图形,下面介绍其用法。(1) 对于函数f = f(x),ezplot函数的调用格式为:ezplot(f):在默认区间-2x2绘制f = f(x)的图形。ezplot(f, a,b):在区间axb绘制f = f(x)的图形。(2) 对于隐函数f = f(x,y),ezplot函数的调用格式为:ezplot(f):在默认区间-2x2和-2y2绘制f(x,y) = 0的图形。ezplot(f, xmin,xmax,ymin,ymax):在区间xminxxmax和yminyymax绘制f(x,y) = 0的图形。ezplot(f, a,b):在区间axb和ay b

40、绘制f(x,y) = 0的图形。(3) 对于参数方程x = x(t)和y = y(t),ezplot函数的调用格式为:ezplot(x,y):在默认区间0t2绘制x=x(t)和y=y(t)的图形。ezplot(x,y, tmin,tmax):在区间tmin t tmax绘制x=x(t)和y=y(t)的图形。例例5.25 隐函数绘图应用举例。隐函数绘图应用举例。程序如下:subplot(2,2,1);ezplot(x2+y2-9);axis equalsubplot(2,2,2);ezplot(x3+y3-5*x*y+1/5)subplot(2,2,3);ezplot(cos(tan(pi*x), 0,1)subplot(2,2,4);ezplot(8*cos(t),4*sqrt(2)*sin(t),0,2*pi)本章小节o二维图形函数plot(x,y)plot(x1,y1,x2,y2,xn,yn)plot(x1,y1,选项,x2,y2,选项, ,xn,yn,选项)图形保持hold on子窗口函数subploto三维图形函数plot3(x1,y1,选项,x2,y2,选项, ,xn,yn,选项)mesh,surfezplot

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号