Matlab基础及其应用-第4章-图形绘制课件.pptx

上传人(卖家):三亚风情 文档编号:3372141 上传时间:2022-08-24 格式:PPTX 页数:78 大小:3.50MB
下载 相关 举报
Matlab基础及其应用-第4章-图形绘制课件.pptx_第1页
第1页 / 共78页
Matlab基础及其应用-第4章-图形绘制课件.pptx_第2页
第2页 / 共78页
Matlab基础及其应用-第4章-图形绘制课件.pptx_第3页
第3页 / 共78页
Matlab基础及其应用-第4章-图形绘制课件.pptx_第4页
第4页 / 共78页
Matlab基础及其应用-第4章-图形绘制课件.pptx_第5页
第5页 / 共78页
点击查看更多>>
资源描述

1、MATLAB基础与应用教程第第4 4章章图形绘制【本章学习目标】掌握绘制二维和三维图形的方法。掌握图形修饰处理方法。了解图像处理的基本原理和方法。掌握交互式绘图工具的使用方法。MATLAB基础与应用教程4.1 二维维曲线线的绘绘制1plot函数用于绘制平面上的线性坐标曲线。plot(X,Y)其中,参数X和Y为向量或矩阵,分别用于存储要绘制的数据点的横坐标和纵坐标。4.1.1 绘制二维曲线MATLAB基础与应用教程4.1 二维维曲线线的绘绘制【例4.1】绘制曲线如果plot函数的输入参数的数据点太少,绘制的图形不能反映数据的变化特性。4.1.1 绘制二维曲线t=linspace(0,2*pi,2

2、00);x=sin(t)+sin(2*t);y=cos(t)-cos(2*t);plot(x,y);MATLAB基础与应用教程4.1 二维维曲线线的绘绘制1plot函数plot函数的输入参数变化形式。(1)当x和y是同样大小矩阵时,配对的x、y按对应列的元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。例如,在同一坐标中绘制3条幅值不同的正弦曲线,命令为4.1.1 绘制二维曲线x=linspace(0,2*pi,100);y=sin(x);plot(x;x;x,y;y*2;y*3)如果X或Y一个是行向量,一个是矩阵,则矩阵的列数应与向量的元素个数相同,绘图时按矩阵的行对数据分组绘制,曲线条

3、数为矩阵的行数;如果X或Y一个是列向量,一个是矩阵,则矩阵的行数应与向量的元素个数相同,绘图时按矩阵的列对数据分组绘制,曲线条数为矩阵的列数。MATLAB基础与应用教程4.1 二维维曲线线的绘绘制1plot函数plot函数的输入参数变化形式:(2)当plot函数只有一个输入参数时,即plot(y)若y是实型向量,则以该向量元素的下标为横坐标、元素值为纵坐标绘制出一条连续曲线;若y是复数向量,则分别以向量元素实部和虚部为横、纵坐标绘制一条曲线。4.1.1 绘制二维曲线t=linspace(0,2*pi,100);x=cos(t)+1i*sin(t);y=x;2*x;3*x;plot(y)MATL

4、AB基础与应用教程4.1 二维维曲线线的绘绘制1plot函数plot函数的输入参数变化形式:(3)当plot函数有多个输入参数,且都为向量时,即plot(x1,y1,x2,y2,xn,yn)其中,x1和y1、x2和y2、xn和yn分别组成一组向量对,以每一组向量对为横、纵坐标绘制出一条曲线。4.1.1 绘制二维曲线t1=linspace(0,3*pi,90);x=cos(t1)+t1.*sin(t1);t2=linspace(0,2*pi,50);y=sin(t2)-t2.*cos(t2);plot(t1,x,t2,y);MATLAB基础与应用教程4.1 二维维曲线线的绘绘制2fplot函数根

5、据参数函数的变化特性自适应地设置采样间隔。当函数值变化缓慢时,设置的采样间隔大;当函数值变化剧烈时,设置的采样间隔小。fplot函数的基本调用格式为:fplot(fun,lims)其中,fun代表定义曲线y坐标的函数,通常采用函数句柄的形式。lims为x轴的取值范围,用二元行向量xmin,xmax描述,默认为-5,5。4.1.1 绘制二维曲线MATLAB基础与应用教程4.1 二维维曲线线的绘绘制【例4.2】用fplot函数绘制曲线 ,x0 4。从2016a版本开始,MATLAB提供了fplot函数的双输入参数的用法:fplot(funx,funy,lims)其中,funx、funy代表函数,通

6、常采用函数句柄的形式。lims为参数函数funx和funy的自变量的取值范围,用二元向量tmin,tmax描述。例如,例4.1也可以用以下命令实现:4.1.1 绘制二维曲线 fplot(x)sin(x.2)./x,0,4*pi)xxxf)sin()(2 fplot(t)sin(t)+sin(2*t),(t)cos(t)-cos(2*t),0,2*pi)MATLAB基础与应用教程4.1 二维维曲线线的绘绘制4.1.1 绘制二维曲线 fimplicit(x,y)x.*x.*x+y.*y.*y-5*x.*y+1/5)MATLAB基础与应用教程4.1 二维维曲线线的绘绘制1曲线基本属性为了加强对比效果

7、,我们常常会在plot函数中加上选项,用于指定所绘曲线的线型、颜色和数据点标记。4.1.2 设置曲线样式MATLAB基础与应用教程4.1 二维维曲线线的绘绘制1曲线基本属性要设置曲线样式可以在plot函数、fplot函数中加绘图选项,其调用格式为:plot(x,y,选项)plot(x1,y1,选项1,x2,y2,选项2,xn,yn,选项n)fplot(funx,选项)fplot(funx,funy,选项)4.1.2 设置曲线样式MATLAB基础与应用教程4.1 二维维曲线线的绘绘制4.1.2 设置曲线样式x=linspace(-3,3,1000);y1=x.*x-3;y2=2*sin(x)+3

8、*cos(x);k=find(abs(y1-y2)t=linspace(0,2*pi,121);plot(t,sin(2*t),Color,0 0 0,.%设置曲线为黑色 LineWidth,2,.%设置曲线线宽为2 Marker,o,.%设置曲线标记为圆 MarkerIndices,1 31 61 91 121,.%在4个点显示标记 MarkerEdgeColor,r,.%设置曲线标记外框为红色 MarkerFaceColor,y,.%设置曲线标记内填充黄色 MarkerSize,8)%设置曲线标记大小为8MATLAB基础与应用教程4.1 二维维曲线线的绘绘制1图形标注图形标注函数的调用格式

9、如下。title(坐标轴标题)xlabel(x轴说明)ylabel(y轴说明)text(x,y,图形说明)legend(图例1,图例2,)title函数用于给坐标轴添加标题;xlabel、ylabel分别用于给x轴、y轴添加说明;text函数用于在指定位置(x,y)添加图形说明;legend函数用于添加图例,说明绘制曲线所用线型、颜色或数据点标记。4.1.3 图形标注与坐标控制MATLAB基础与应用教程4.1 二维维曲线线的绘绘制1图形标注说明文字,除使用常规字符外,还可使用TeX标识符输出其他字符和标识,如希腊字母、数学符号、公式等。在MATLAB支持的TeX字符串中,用bf、it、rm标识

10、符分别定义字形为加粗、倾斜和常规字体。表4.5中的各个字符既可以单独使用,又可以和其他字符及命令联合使用。为了将控制字符串、TeX标识符与输出字符分隔开来,可以用大括号界定控制字符串以及受控制字符串的起始和结束。例如:4.1.3 图形标注与坐标控制 text(0.3,0.5,sin(omegat+beta)%标注sin(t+)MATLAB基础与应用教程4.1 二维维曲线线的绘绘制上标由 引导,下标由 _ 引导【例4.4】在0 x2区间内,绘制曲线y1=e0.5x和y2=e0.5x cos(4x),并添加图形标注。4.1.3 图形标注与坐标控制x=0:pi/100:2*pi;y1=exp(-0.

11、5*x);y2=exp(-0.5*x).*cos(4*pi*x);plot(x,y1,x,y2)title(x from 0 to 2pi);%添加坐标轴标题xlabel(Variable X);%添加X轴说明ylabel(Variable Y);%添加Y轴说明text(1.5,0.5,曲线y_1=e-0.5x);%在指定位置添加图形说明text(3,-0.2,曲线y_2=cos(4pix)e-0.5x);legend(y_1,y_2)%添加图例MATLAB基础与应用教程4.1 二维维曲线线的绘绘制2坐标控制调用axis函数来实现。axis(xmin,xmax,ymin,ymax,zmin,z

12、max)系统按照给出的三个坐标轴的最小值和最大值设置坐标轴范围,通常,绘制二维图形时只给出前4个参数。例如:axis(-pi,pi,-4,4)axis函数其他用法如下。axis auto:使用默认设置。axis equal:纵、横坐标轴采用等长刻度。axis square:产生正方形坐标轴(默认为矩形)。axis on:显示坐标轴。axis off:不显示坐标轴。4.1.3 图形标注与坐标控制MATLAB基础与应用教程4.1 二维维曲线线的绘绘制2坐标控制 给坐标轴加网格线用grid命令来控制。grid on命令控制显示网格线grid off命令控制不显示网格线不带参数的grid命令用于在两种

13、状态之间进行切换。给坐标轴加边框用box命令。box命令的使用方法与grid命令相同。如果程序中没有出现box命令,默认是有边框线的。4.1.3 图形标注与坐标控制MATLAB基础与应用教程4.1 二维维曲线线的绘绘制【例4.5】绘制曲线 及其包络线,x0。4.1.3 图形标注与坐标控制t=0:pi/100:pi;y1=sin(t).*1;-1;%包络线函数值y2=sin(t).*sin(9*t);plot(t,y1;y2)grid on;%加网格线box on;%加坐标边框axis equal%坐标轴采用等刻度sin sin(9)yttMATLAB基础与应用教程4.1 二维维曲线线的绘绘制1

14、图形窗口的分割subplot函数,用来实现对当前图形窗口的分割。subplot函数的调用格式为:subplot(m,n,p)其中,参数m和n表示将图形窗口分成m行n列个绘图区,区号按行优先编号。第3个参数指定第p个区为当前活动区,若p是向量,则表示将向量中的几个区合成1个绘图区。4.1.4 多图形显示MATLAB基础与应用教程4.1 二维维曲线线的绘绘制【例4.6】在图形窗口中,以子图形式同时绘制多根曲线。4.1.3 图形标注与坐标控制x=-3:0.1:3;subplot(2,2,2);%将图形窗口划分成224个子图,选定2区为当前活动区。y2=sin(2.*x.2);plot(x,y2);x

15、label(b);axis(-3 3-1.2 1.2)subplot(2,2,4);y3=cos(x.3);plot(x,y3);xlabel(c);axis(-3 3-1.2 1.2);grid on;subplot(2,2,1 3);%选定1和3号区为当前活动区fplot(x)(x-cos(x.3)-sin(2*x.2),-3 3);xlabel(a);MATLAB基础与应用教程4.1 二维维曲线线的绘绘制2图形叠加在已存在的图形上再叠加新的图形,可使用图形保持命令hold。hold on命令控制保持原有图形,hold off命令控制刷新图形窗口,不带参数的hold命令控制在两种状态之间进

16、行切换。例如:4.1.4 多图形显示t=linspace(0,2*pi,200);x=sin(t)+sin(2*t);y=cos(t)-cos(2*t);plot(x,y);%绘制三个叶片axis equalhold on%保持原有图形fplot(x)sin(x),(x)cos(x),-pi,pi)%绘制圆MATLAB基础与应用教程4.1 二维维曲线线的绘绘制3具有两个纵坐标标度的图形在同一个坐标轴绘制具有不同纵坐标标度的两个图形,可以使用yyaxis函数4.1.4 多图形显示yyaxis leftyyaxis rightyyaxis(ax,left)yyaxis(ax,right)MATLA

17、B基础与应用教程4.1 二维维曲线线的绘绘制【例4.7】用不同标度在同一坐标轴内绘制曲线y1=0.2e0.5xcos(2x)和y2=1.5e0.5xcos(x)。4.1.4 多图形显示x=0:pi/50:2*pi;y1=0.2*exp(-0.5*x).*cos(2*x);yyaxis rightplot(x,y1)text(2,0.2*exp(-0.5*2)*cos(2*2),曲线y_1);y2=1.5*exp(-0.5*x).*cos(pi*x);yyaxis leftplot(x,y2)text(2,1.5*exp(-0.5*2)*cos(pi*2),曲线y_2);MATLAB基础与应用教

18、程4.1 二维维曲线线的绘绘制1对数坐标图形semilogx(x1,y1,选项1,x2,y2,选项2,)semilogy(x1,y1,选项1,x2,y2,选项2,)loglog(x1,y1,选项1,x2,y2,选项2,)semilogx函数使用半对数坐标,x轴为常用对数刻度,y轴为线性刻度。semilogy函数也使用半对数坐标,x轴为线性刻度,y轴为常用对数刻度。loglog函数使用全对数坐标,x轴和y轴均采用常用对数刻度。4.1.5 其他坐标系下的曲线MATLAB基础与应用教程4.1 二维维曲线线的绘绘制【例4.84.8】绘制y=ex的对数坐标图并与直角线性坐标图进行比较。4.1.5 其他坐

19、标系下的曲线x=0:0.1:10;y=exp(-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;MATLAB基础与应用教程4.1 二维维曲线线的绘绘制2极坐标图MATLAB中用polarplot函数来绘制极坐标

20、图,其调用格式为:polarplot(theta,rho,选项)其中,theta为极坐标极角,rho为极坐标极径4.1.5 其他坐标系下的曲线MATLAB基础与应用教程4.1 二维维曲线线的绘绘制4.1.5 其他坐标系下的曲线t=0:pi/100:2*pi;r=1-sin(t);subplot(1,2,1)polarplot(t,r)subplot(1,2,2)r1=1-sin(t-pi/2);%旋转角度为负数,图形逆时针方向旋转polarplot(t,r1)MATLAB基础与应用教程4.1 二维维曲线线的绘绘制3等高线图contour(X,Y,Z,n,v)contourf(X,Y,Z,n,v

21、)其中,X和Y分别表示平面上的横坐标和纵坐标,Z表示高程。当X和Y是矩阵时,大小应和Z相同;参数n指定用n条水平线来绘制等高线;v是单调递增向量,其中的每一个元素对应一条水平线的值,等高线的个数为v中元素的个数。contour函数用于绘制常规等高线图contourf函数用于绘制填充方式的等高线图。4.1.5 其他坐标系下的曲线MATLAB基础与应用教程4.1 二维维曲线线的绘绘制3等高线图调用colorbar函数在指定位置显示颜色条。colorbar(位置)位置可取值包括:north(坐标轴的上部)、south(坐标轴的下部)、east(坐标轴的右部)、west(坐标轴的左部)、northou

22、tside(坐标轴上)、southoutside(坐标轴下)、eastoutside(坐标轴右)、westoutside(坐标轴左)、manual。例如:contour(peaks(40),20)colorbar4.1.5 其他坐标系下的曲线MATLAB基础与应用教程4.2 其他二维图维图形的绘绘制1条形图函数用于显示不同时间点的数据大小或比较各组数据的大小。bar函数的基本调用格式为:bar(x,width,style)参数x存储绘图数据。选项width设置条形的相对宽度和控制在一组内条形的间距,默认宽度为0.8;选项style用于指定分组排列模式,类型有grouped(簇状分组)、stac

23、ked(堆积)、histc(横向直方图)、hist(纵向直方图),默认采用簇状分组排列模式。4.2.1 条形类图形MATLAB基础与应用教程4.2 其他二维图维图形的绘绘制【例4.10】表4.7所示为某公司3类产品各季度的销售额(单位:万元),分别按季度绘制簇状柱形图和堆积条形图。4.2.1 条形类图形x=51,82,34,47;67,78,68,90;78,85,65,50;subplot(2,1,1);bar(x);title(Group);subplot(2,1,2);barh(x,stacked);title(Stack);MATLAB基础与应用教程4.2 其他二维图维图形的绘绘制2直

24、方图函数MATLAB提供了绘制直方图的histogram函数和绘制帕累托图的pareto函数。histogram函数的基本调用格式为:histogram(x,nbins)参数x存储绘图数据。选项nbins用于设置统计区间的划分方式。若nbins是一个正整数,则统计区间均分成nbins个小区间;若nbins是向量,则向量中的每一个元素指定各区间的最小值,默认按x中的值自动确定划分的区间数。4.2.1 条形类图形MATLAB基础与应用教程4.2 其他二维图维图形的绘绘制3玫瑰花图又称为角度直方图。MATLAB提供rose函数绘制玫瑰花图,rose函数的用法如下:rose(theta,nbins)参

25、数theta是一个向量,用于确定每一区间与原点的角度。绘图时将圆划分为若干个角度相同的扇形区域,每一扇形区域三角形的高度反映了落入该区间的theta元素的个数。若nbins是标量,则在 0,2 区间内均匀划分为nbins个扇形区域;若nbins为向量,指定分组中心值,nbins元素的个数为数据分组数,默认为20。4.2.1 条形类图形MATLAB基础与应用教程4.2 其他二维图维图形的绘绘制1扇形统计图pie函数的基本调用格式为:pie(x,explode)参数x存储绘图数据。explode是与x同等大小的向量或矩阵,与explode的非零值对应的部分将从饼图中心分离出来。explode缺省时

26、,饼图是一个整体。例如,用饼图分析例4.10中产品A该年度各季度的产品销售情况:4.2.2 面积类图形x=51,82,34,47;67,78,68,90;78,85,65,50;pie(x(:,1),0 0 0 1)%对应第四季度的部分从饼图中心分离title(产品A销售情况);legend(一季度,二季度,三季度,四季度);MATLAB基础与应用教程4.2 其他二维图维图形的绘绘制2面积图area函数的基本调用格式为:area(Y,basevalue)若Y是向量,以Y为纵坐标绘制一条曲线;若Y是矩阵,则矩阵Y 的每一列元素对应一条曲线,堆叠绘制多条曲线。选项basevalue指定区域的基值,

27、默认为0。例如,将例4.10的产品销售情况用面积图描述,使用以下命令:4.2.2 面积类图形 x=51,82,34,47;67,78,68,90;78,85,65,50;area(x);MATLAB基础与应用教程4.2 其他二维图维图形的绘绘制3实心图fill函数用于绘制实心图,其调用格式为:fill(x1,y1,选项1,x2,y2,选项2,)按向量元素下标渐增次序依次用直线段连接x、y对应元素定义的数据点。若连接所得折线不封闭,MATLAB将自动把该折线的首尾连接起来。【例4.11】绘制一个蓝色的六边形。4.2.2 面积类图形dt=2*pi/6;st=0:dt:2*pi;x=sin(t);y

28、=cos(t);fill(x,y,b);axis(-1.5 1.5-1.5 1.5)MATLAB基础与应用教程4.2 其他二维图维图形的绘绘制3实心图scatter函数常用于呈现二维空间中数据点的分布情况,其基本调用格式为:scatter(x,y,s,c,fill)参数x和y存储绘图数据;选项s指定各个数据点的大小;选项c指定绘图所使用的色彩。如果数据点标记符号是封闭图形,如圆圈或方块,可以用选项filled指定填充数据点标记,默认数据点是空心的。4.2.3 散点类图形MATLAB基础与应用教程4.2 其他二维图维图形的绘绘制【例4.12】表4.9所示为某冷饮点热饮销售与气温关系的记录,绘制散

29、点图观察热饮销售随气温变化的趋势。4.2.3 散点类图形t=-5,0,4,7,12,15,19,23,27,31,36;y=156,150,132,128,130,116,104,89,93,76,54;scatter(t,y,50)MATLAB基础与应用教程4.2 其他二维图维图形的绘绘制compass函数用从原点发射出的箭头表示矢量,绘制的图形又称为罗盘图;feather函数用从x轴发射出的箭头表示矢量,绘制的图形又称为羽毛图;quiver、quiver3函数用从空间指定位置发射出的箭头表示位置矢量,绘制的图形又称为箭头图或速度图。函数的基本调用格式为:compass(z)或 compas

30、s(u,v)feather(z)或 feather(u,v)quiver(x,y,u,v)quiver3(x,y,z,u,v,w)z为复型量。绘制图形时,quiver函数以(x,y)为起点,quiver3函数以(x,y,z)为起点,u、v、w为x、y、z方向的速度分量。4.2.4 矢量场图形MATLAB基础与应用教程4.2 其他二维图维图形的绘绘制4.2.4 矢量场图形z=1+1i,0.5i,-1-0.5i,0.5-0.5i;subplot(2,2,1)compass(z)subplot(2,2,2)feather(z)subplot(2,2,3)quiver(0,0,0,0,0,0,0,0,

31、real(z),imag(z)subplot(2,2,4)quiver(1,2,3,4,0,0,0,0,real(z),imag(z)MATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制1plot3函数基本调用格式为:plot3(x,y,z,选项)参数x、y、z组成一组曲线的空间坐标。通常,x、y和z为长度相同的向量,x、y、z对应元素构成一条曲线上各数据点的空间坐标;当x、y、z是同样大小的矩阵时,则以x、y、z对应列元素作为数据点坐标,曲线条数等于矩阵列数。当x、y、z中有向量,也有矩阵时,行向量的长度与矩阵的列数相同,列向量的长度与矩阵的行数相同。4.3.1 三维曲线M

32、ATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制【例4.13】绘制三维曲线。4.3.1 三维曲线sincoscossin(010)xtttyttttzt t=0:pi/20:10*pi;x=sin(t)+t.*cos(t);y=cos(t)-t.*sin(t);z=t;plot3(x,y,z);title(螺旋线);xlabel(X);ylabel(Y);zlabel(Z);grid on;MATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制2fplot3函数根据参数函数的变化特性自适应地设置采样间隔。当函数值变化缓慢时,设置的采样间隔大;当函数值变化剧烈

33、时,设置的采样间隔小。fplot3函数的基本调用格式为:fplot3(funx,funy,funz,lims,选项)参数funx、funy、funz代表定义曲线x、y、z坐标的函数,通常采用函数句柄的形式。lims为参数函数自变量的取值范围,用二元向量tmin,tmax描述,默认为-5,5。4.3.1 三维曲线MATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制【例4.14】绘制三维曲线。4.3.1 三维曲线sincoscossin(010)xtttyttttzt fx=(t)sin(t)+t.*cos(t);fy=(t)cos(t)-t.*sin(t);fz=(t)t;fp

34、lot3(fx,fy,fz,0,10*pi);MATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制1产生网格坐标矩阵将x方向区间a,b分成m份,将y方向区间c,d 分成n份,由各划分点分别作平行于两坐标轴的直线,将区域a,b c,d 分成m n个小网格,生成代表每一个小网格顶点坐标的网格坐标矩阵。4.3.2 三维曲面MATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制1产生网格坐标矩阵在MATLAB中,产生平面区域内的网格坐标矩阵有两种方法。(1)利用矩阵运算生成。(2)调用meshgrid函数生成二维网格坐标矩阵:X,Y=meshgrid(x,y)4.3.

35、2 三维曲面 a=2:6;b=(3:8);X=a;a;a;a;a;a;Y=b,b,b,b,b;a=2:6;b=(3:8);X,Y=meshgrid(a,b);MATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制2mesh函数和surf函数mesh函数用于绘制三维网格图,surf函数用于绘制三维曲面图。surf函数和mesh函数的调用格式为mesh(x,y,z,c)surf(x,y,z,c)x、y定义网格顶点的xy平面坐标,z定义网格顶点的高度。选项c用于指定在不同高度下的补面颜色。4.3.2 三维曲面MATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制【例4

36、.15】绘制三维曲面图z=sinx2+cosy2,x0,y0,/2。4.3.2 三维曲面x,y=meshgrid(0:pi/50:pi,0:pi/50:pi/2);z=sin(x.2)+cos(y.2);subplot(1,2,1)mesh(x,y,z);subplot(1,2,2)surf(x,y,z);MATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制【例4.16】在xy平面内选择区域2,2 2,2,绘制函数 的4种三维曲面图。4.3.2 三维曲面vx=linspace(-2,2,25);x,y=meshgrid(vx);z=-exp(-x.2-y.2);subplot

37、(2,2,1);meshz(x,y,z)title(meshz(x,y,z)subplot(2,2,2);meshc(x,y,z);title(meshc(x,y,z)subplot(2,2,3);surfl(x,y,z);title(surfl(x,y,z)subplot(2,2,4);surfc(x,y,z);title(surfc(x,y,z)(22yxex)(22yxexMATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制3fmesh函数和fsurf函数根据参数函数的变化特性自适应地设置网格顶点间距。fmesh(funx,funy,funz,lims,选项)fsurf

38、(funx,funy,funz,lims,选项)fsurf(funx,funy,funz,lims,选项)参数funx、funy、funz代表定义曲面网格顶点x、y、z坐标的函数,通常采用函数句柄的形式。参数函数funx、funy、funz有两个自变量,lims为自变量的取值范围,用4元向量umin,umax,vmin,vmax描述,umin、vmin为自变量的下限,umax、vmax为自变量的上限,默认为-5,5,-5,5。4.3.2 三维曲面MATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制【例4.15】用fmesh函数和fsurf函数绘制三维曲面图z=sinx2+co

39、sy2,x0,y0,/2。4.3.2 三维曲面subplot(1,2,1)fmesh(x,y)sin(x.2)+cos(y.2),0,pi,0,pi/2);subplot(1,2,2)fsurf(x,y)sin(x.2)+cos(y.2),0,pi,0,pi/2);MATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制4标准三维曲面(1)sphere函数用于绘制三维球面,其调用格式为x,y,z=sphere(n)该函数将产生3个(n+1)阶的方阵x、y、z,采用这3个矩阵可以绘制出圆心位于原点、半径为1的单位球体。若在调用该函数时不带输出参数,则直接绘制球面。选项n决定了球面的

40、圆滑程度,n越大,绘制出的球体表面越光滑,默认值为20。4.3.2 三维曲面MATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制4标准三维曲面(2)cylinder函数用于绘制柱面,其调用格式为x,y,z=cylinder(R,n)其中,选项R是一个向量,存放柱面各个等间隔高度上的半径,默认为1,即圆柱的底面半径为1;选项n表示在圆柱圆周上有n个间隔点,默认有20个间隔点。4.3.2 三维曲面MATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制4标准三维曲面(2)cylinder函数4.3.2 三维曲面subplot(1,3,1)cylinder(3)%绘制

41、一个底面半径为3的圆柱面subplot(1,3,2)cylinder(0:0.1:1.5)%参数是线性渐变的向量,绘制一个圆锥面x=0:pi/20:2*pi;R=2+sin(x);subplot(1,3,3)cylinder(R,30)%R是向量MATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制4标准三维曲面(3)peaks函数。peaks函数也称为多峰函数,常用于生成平面网格顶点的高度矩阵。基本调用格式为:Z=peaks(n)Z=peaks(V)Z=peaks(X,Y)第1种格式中的参数n指定将3,3 区间划分成n-1等分,生成一个n阶方阵,默认为49阶方阵。第2种格式的

42、参数V是一个向量,生成1个方阵。第3种格式中的参数X、Y是大小相同的矩阵,定义平面网格顶点坐标。若在调用peaks函数时不带输出参数,则直接绘制出多峰函数曲面。4.3.2 三维曲面MATLAB基础与应用教程4.3 4.3 三维图形的绘制三维图形的绘制4.3.2 三维曲面 fimplicit3(x,y,z)x.2+y.2-z.2/4-1,-3,3)MATLAB基础与应用教程4.4 4.4 图形修饰处理图形修饰处理MATLAB的视点位置用方位角和仰角表示。方位角又称旋转角,是视点与原点连线在xy平面上的投影与y轴负方向形成的角度,正值表示逆时针,负值表示顺时针。仰角又称视角,是视点与原点连线与xy

43、平面的夹角,正值表示视点在xy平面上方,负值表示视点在xy平面下方。4.4.1 视点处理MATLAB基础与应用教程4.4 4.4 图形修饰处理图形修饰处理MATLAB提供了设置视点的函数view,其调用格式为view(az,el)view(x,y,z)view(2)view(3)第1种格式中,az为方位角,el为仰角,以度为单位。第2种格式中,x、y、z为视点在笛卡尔坐标系中的位置。第3种格式设置从二维平面观察图形,即az=0,el=90。第4种格式设置从三维空间观察图形,视点使用默认方位角和仰角(az=-37.5,el=30)。4.4.1 视点处理MATLAB基础与应用教程4.4 4.4 图

44、形修饰处理图形修饰处理4.4.1 视点处理x,y=meshgrid(0:0.1:2,1:0.1:3);z=2*(x-1).2+(y-2).2;subplot(2,2,1)mesh(x,y,z)title(方位角=-37.5circ,仰角=30circ)subplot(2,2,2)mesh(x,y,z)view(2);title(方位角=0circ,仰角=90circ)subplot(2,2,3)mesh(x,y,z)view(90,0);title(方位角=90circ,仰角=0circ)subplot(2,2,4)mesh(x,y,z)view(-45,-60);title(方位角=-45c

45、irc,仰角=-60circ)MATLAB基础与应用教程4.4 4.4 图形修饰处理图形修饰处理1色图色图(Colormap)是MATLAB填充表面所使用的颜色参照表。色图是一个m3 的数值矩阵,其每一行是一个RGB三元组。MATLAB中使用函数colormap设置和获取当前图形所使用的色图,函数的调用格式为colormap cmapnamecolormap(cmap)cmap=colormap参数cmapname是內建的色图函数,cmap是色图矩阵。第1、2种格式用于设置色图,第3种格式用于获取当前色图。4.4.2 色彩处理MATLAB基础与应用教程4.4 4.4 图形修饰处理图形修饰处理1

46、色图例如,使用以下命令,创建一个灰色系列色图矩阵。c=0,0.2,0.4,0.6,0.8,1;cmap=c,c,c;也可以调用MATLAB提供的色图函数来定义色图矩阵。M=gray;%生成643的灰度色图矩阵 P=gray(6);%生成63的灰度色图矩阵 Q=gray(2);%生成23的灰度色图矩阵,只有黑、白两种颜色4.4.2 色彩处理MATLAB基础与应用教程4.4 4.4 图形修饰处理图形修饰处理2三维图形表面的着色用色图矩阵中定义的各种颜色在每一个网格片上涂抹颜色。以surf函数为例,说明与着色有关的属性的设置方法。方法如下:surf(X,Y,Z,选项,值)选项包括FaceColor和

47、EdgeColor,分别用于设置网格片和网格边框线的着色方式,可取值有:flat:每个网格片内用系统默认色图中的单一颜色填充,这是系统的默认方式。interp:每个网格片内填充渐变色,渐变采用插值法计算。none:每个网格片内不填充颜色。texturemap:每个网格片内用纹理填充。RGB三元组或颜色字符:每个网格片内用指定的颜色填充。4.4.2 色彩处理MATLAB基础与应用教程4.4 4.4 图形修饰处理图形修饰处理【例4.19】使用统一色图,以不同着色方式绘制圆锥体。4.4.2 色彩处理x,y,z=cylinder(pi:-pi/5:0,10);colormap(lines);subpl

48、ot(1,3,1);surf(x,y,z)subplot(1,3,2);surf(x,y,z,Facecolor,interp)subplot(1,3,3);surf(x,y,z,Facecolor,none);MATLAB基础与应用教程4.4 4.4 图形修饰处理图形修饰处理3图形表面的色差用shading命令来改变色差,从而影响图形表面着色效果。shading命令的调用格式为shading 选项选项有如下3种取值。faceted:将每个网格片用色图中与其高度对应的颜色进行着色,网格线是黑色。这是系统的默认着色方式。interp:在网格片内和网格间的色差采用插值处理,无网格线。flat:将每

49、个网格片用同一个颜色进行着色,网格线的颜色与网格片的颜色相同。4.4.2 色彩处理MATLAB基础与应用教程4.4 4.4 图形修饰处理图形修饰处理【例4.20】不同色差对图形显示效果的影响。4.4.2 色彩处理x,y,z=cylinder(pi:-pi/5:0,10);colormap(gray);subplot(1,3,1);surf(x,y,z);subplot(1,3,2);surf(x,y,z);shading interp;subplot(1,3,3);surf(x,y,z);shading flat;MATLAB基础与应用教程4.4 4.4 图形修饰处理图形修饰处理将图形中需要裁

50、剪部分对应的函数值设置成NaN,这样在绘制图形时,函数值为NaN的部分将不显示出来,从而达到对图形进行裁剪的目的。4.4.3 图形的裁剪处理MATLAB基础与应用教程4.4 4.4 图形修饰处理图形修饰处理【例4.21】绘制三维曲面 ,并裁掉图中x和y都小于1.5的部分。4.4.3 图形的裁剪处理x,y=meshgrid(-5:0.2:5);z=sin(sqrt(x.2+y.2)./(sqrt(x.2+y.2);subplot(1,2,1)mesh(x,y,z);subplot(1,2,2)k=find(x-1.5&y-1.5);z1=z;z1(k)=NaN;mesh(x,y,z1);2222

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Matlab基础及其应用-第4章-图形绘制课件.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|