《与数学实验(第二版)第4章 数据的可视化ppt课件.pptx》由会员分享,可在线阅读,更多相关《与数学实验(第二版)第4章 数据的可视化ppt课件.pptx(140页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数学软件与数学实验(第二版)第4章 数据的可视化 电子课件第四章 数据的可视化234.1 二维曲线和图形二维曲线和图形4plot函数的4种调用格式:lplot(y,LineSpec):绘制 y 中数据对每个值索引的二维曲线若y是向量,绘制以(i,y(i)为坐标点的曲线。若y是m*n实数矩阵,则以y的每列为向量绘制一条曲线,共绘制n条不同颜色的曲线。若y是m*n复数矩阵,则每列分别以元素实部和虚部为横、纵坐标绘制一条曲线,共绘制n条曲线。54.1 二维曲线和图形二维曲线和图形lplot(x,y,LineSpec):当x和y是大小相同的向量时,则x为横坐标y为纵坐标绘图。若x是向量,y是在某个维数
2、和x相等的矩阵时,则绘制出多根不同颜色的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。若x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。若y为复数矩阵则为plot(x,real(y).64.1 二维曲线和图形二维曲线和图形lplot(x1,y1,LineSpec1,x2,y2,LineSpec2,xn,yn,LineSpecn):绘制若干条曲线。lplot(x,y,Name,Valve)绘制曲线,其线的属性由一对或若干对Name和Valve说明在前3个格式中,所绘图形的线型、点型和颜色是由LineSpec来确定的,它是一个字符串,若
3、LineSpec省略,则默认为蓝色实细线。在第4个格式中,提供了更多的图形属性,由Name和Value来确定74.1 二维曲线和图形二维曲线和图形84.1 二维曲线和图形二维曲线和图形符号颜色符号颜色b蓝色(默认)r红色y黄色g绿色m品红色w白色c青色k黑色表4-1 LineSpec中使用的颜色字符94.1 二维曲线和图形二维曲线和图形在用LineSpec设置线型,颜色和标记点三种属性时应该注意:(1)3种属性的符号必须放在一个单引号或双引号中(2)可以指定其中的1种,2种或3种属性,属性的先后次序无关(3)在属性字符串中同一种属性的取值只能有一个。104.1 二维曲线和图形二维曲线和图形11
4、4.1 二维曲线和图形二维曲线和图形说明:在线的属性表中,RGB是用一个包含3个元素的向量分别表示红、绿、蓝三种颜色,每个元素的值在0,1范围内,值的大小表示颜色的强度,0表示没有这种颜色,1表示这种颜色的强度最大。color string是一个用字符串表示颜色,可以用表4-1中的短名字,也可以用长名字如黄色用yellow,红色用red。例例4-1 绘制向量y=4 6 3 9 6 8 6 15 3 2 3所描述的曲线。在命令行窗口依次输入下面命令:在命令行窗口依次输入下面命令:y=4 6 3 9 6 8 6 15 3 2 3;plot(y)124.1 二维曲线和图形二维曲线和图形134.1 二
5、维曲线和图形二维曲线和图形144.1 二维曲线和图形二维曲线和图形154.1 二维曲线和图形二维曲线和图形例例4-5 用红色虚线绘制函数y=tan(sinx)-sin(tanx)的图像,并在取值点用方块标注,方块的大小为10磅,方块边的颜色为蓝色,方块内部颜色为黄色,线宽为2磅。%文件名ex4_5x=-pi:pi/10:pi;y=tan(sin(x)-sin(tan(x);plot(x,y,-rs,LineWidth,2,MarkerSize,10,MarkerEdgeColor,b,MarkerFaceColor,1,1,0)164.1 二维曲线和图形二维曲线和图形4.1.2 图形窗口在MA
6、TLAB中,绘制的图形显示在一个独立的窗口中,这个窗口称为图形窗口。如果屏幕上没有图形窗口,当使用绘图命令时会自动建立一个图形窗口,以后的绘制的图形都会显示在这个窗口中,并且会把窗口中已有的图形覆盖。如果要保留原来图形窗口绘制的图形,则需要用创建图形窗口的命令创建一个新的图形窗口。174.1 二维曲线和图形二维曲线和图形1创建新图形窗口lfigure 以默认的方式建立一个新的图形窗口lfigure(h)若h号图形窗口不存在,则建立编号为h的图形窗口,若编号为h的图形窗口已经存在,则该命令是设置h号窗口为当前窗口。lfigure(PropertyName1,PropertyValue1,Prop
7、ertyName2,PropertyValue2,):建立图形窗口并设置窗口属性的属性值,其中PropertyName,PropertyValue(即属性名,属性值)构成属性二元对,该属性二元对还可以用结构数组表示。184.1 二维曲线和图形二维曲线和图形PropertyNamePropertyValue说明明ColorRGB triplet|short name|long name|none设置窗口的背景颜色MenuBarfigure(default)|none是否显示图形窗口的菜单条Name(default)|string设置图形窗口的标题NumberTitleon(default)|of
8、f是否显示窗口编号ToolBarauto(default)|figure|none是否显示图形窗口的工具条Positionleft bottom width height设置图形窗口绘图区域的位置和大小Unitspixels(default)|normalized|inches|centimeters|points|characters设置衡量单位Resizeon(default)|off是否允许用户改变窗口的大小KeyPressFcn(default)|function handle|cell array|string当用户按下某键时调用函数ButtonDownFcn(default)|fu
9、nction handle|cell array|string当用户按下鼠标时调用函数194.1 二维曲线和图形二维曲线和图形204.1 二维曲线和图形二维曲线和图形214.1 二维曲线和图形二维曲线和图形224.1 二维曲线和图形二维曲线和图形例例4-7 建立一个图形窗口,该图形窗口没有菜单条,名称为“y=x2”,背景颜色为红色,窗口的左下角在屏幕的(100,100)位置,宽度、高度分别为300、200(单位:像素),鼠标左键按下响应事件为在该图形窗口绘制出y=x2在-4,4区间上的曲线。在MATLAB中建立命令文件如下:%文件名ex4_7x=-4:0.1:4;y=x.2;figure(Na
10、me,y=x2,Color,red,menubar,none,Position,100,100,300,200,Units,pixel,ButtonDownFcn,plot(x,y);2.关闭图形窗口要关闭图形窗口,使用close函数,调用格式为:lclose(h):关闭句柄为h的图形窗口。lclose all:关闭所有的图形窗口。234.1 二维曲线和图形二维曲线和图形3图形的保持在绘图过程中,经常需要在同一个图形窗口中绘制不同的函数图像,这就要求将图形窗口中已有的图形保持住。实现该功能的函数是hold。lhold on 打开当前图形窗口的图形的保持功能,以后所有在这个窗口中绘制的图形将添加
11、到该图形窗口中。lhold off 关闭当前图形窗口的图形保持功能,以后在这个窗口新绘制的图形将覆盖原有图形。244.1 二维曲线和图形二维曲线和图形例例4-8 在同一个图形窗口中绘制正弦和余弦函数图像在在MATLAB中建立命令文件如下中建立命令文件如下:%文件名ex4_8x=0:0.1:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,b)hold on plot(x,y2,r)254.1 二维曲线和图形二维曲线和图形4图形窗口的分割在MATLAB中,函数subplot可以将一个图形窗口分割成若干个子窗口,这样就可以在同一个图形窗口中的不同位置绘制若干个不同的函数图像。其
12、格式如下:lsubplot(m,n,p)将图形窗口分割成m行n列,并设置p所指定的子窗口为当前窗口。子窗口按行由左至右,由上至下进行编号。lsubplot(m,n,p,replace)删除编号为p的子窗口中的坐标系,建立一个新的坐标系。264.1 二维曲线和图形二维曲线和图形274.1 二维曲线和图形二维曲线和图形例例4-9 将图形窗口分割成2行2列共4个子窗口,并在不同的子窗口中绘制函数图像。在在MATLAB中建立命令文件如下:中建立命令文件如下:%文件名ex4_9 x=0:0.1*pi:2*pi;subplot(2,2,1)plot(x,sin(x),-*)subplot(2,2,2)pl
13、ot(x,cos(x),-o)subplot(2,2,3)plot(x,sin(x).*cos(x),-x)subplot(2,2,4)plot(x,sin(x)+cos(x),-h)284.1 二维曲线和图形二维曲线和图形例例4-10 将图4-9中第2个子窗口的图形删除。在命令行窗口依次输入下面的命令:在命令行窗口依次输入下面的命令:subplot(2,2,2,replace)在R2019b及以后的MATLAB版本中增加了一个新的命令,也可以分割图形窗口。ltiledlayout(m,n),创建图形窗口的分块布局,用于显示当前图形窗口中的多个绘图。该布局有固定的 mn 个子窗口排列,最多可显
14、示 mn 个绘图。ltiledlayout(flow),指定绘图窗口的flow分块布局。flow布局是指,开始只有一个坐标系充满整个绘图窗口;每次调用 nexttile 时,MATLAB会根据需要调整布局以适应新坐标区,同时保持所有子窗口的纵横比约为 4:3。lnexttile,创建一个坐标区对象,并将其放入当前图形窗口的分块布局的下一个子窗口中。如果当前图形窗口中没有布局,则 nexttile 会创建一个新布局并使用 flow 布局排列。生成的坐标区对象是当前坐标区,因此下一个绘图命令可以在其中进行绘制。lnexttile(tilenum),指定编号为tilenum的子窗口为当前坐标区。29
15、例4-11 在一个图形窗口上不重叠的绘制4个正弦函数图像。在MATLAB中建立命令文件如下:%文件名ex4_11x=linspace(0,30);y1=sin(x);y2=sin(2*x);y3=sin(3*x);y4=sin(4*x);t=tiledlayout(2,2);30nexttileplot(x,y1)nexttileplot(x,y2)nexttileplot(x,y3)nexttileplot(x,y4)4.1.3 坐标系属性的坐标系属性的设置设置一般情况下,在绘制图形时图形窗口的界面无需人工干预,MATLAB能够根据所给的数据自动地确定坐标取向、范围、刻度、高宽比给出比较满意
16、的画面。如果有特殊需要,则也可以通过一系列命令改变默认设置。1.坐标轴的设置laxis(limits),设定坐标轴的取值范围。其中,limits是一个4、6或8个元素的向量:(1)xmin xmax ymin ymax,设置x轴的范围从xmin到xmax,y轴的范围从ymin到ymax。(2)xmin xmax ymin ymax zmin zmax,增加设置z轴的范围从zmin到zmax。(3)xmin xmax ymin ymax zmin zmax cmin cmax,增加设置颜色范围。cmin 是对应于色图中的第一种颜色的数据值,cmax 是对应于色图中的最后一种颜色的数据值。314.
17、1 二维曲线和图形二维曲线和图形laxis style,使用预定义样式设置轴范围和尺度。其中style可以有以下选择:(1)tight,将坐标轴范围设置为等同于数据范围,使坐标框紧密围绕数据。(2)equal,每个坐标轴使用相同的数据单位长度。(3)image,每个坐标区使用相同的数据单位长度,并使坐标框紧密围绕数据。(4)square,使用相同长度的坐标轴,相应调整数据单位之间的增量。(5)fill,启用“伸展填充”行为(默认值)。每个轴线的长度恰好围成由坐标区的 Position 属性所定义的位置矩形。(6)vis3d,冻结纵横比属性。(7)normal,还原默认行为。324.1 二维曲线
18、和图形二维曲线和图形laxis mode,设置 MATLAB是否自动选择范围。其中mode可以选择:(1)manual,将所有坐标轴范围冻结在它们的当前值。(2)auto,自动选择所有坐标轴范围。(3)auto x,自动选择 x 坐标轴范围。(4)auto y,自动选择 y 坐标轴范围。(5)auto z,自动选择 z 坐标轴范围。(6)auto xy,自动选择 x 轴和 y 坐标轴范围。(7)auto xz,自动选择 x 轴和 z 坐标轴范围。(8)auto yz,自动选择 y 轴和 z 坐标轴范围。334.1 二维曲线和图形二维曲线和图形laxis ydirection,其中ydirect
19、ion 的默认值为 xy,即将原点放在坐标区的左下角,y 轴的方向从下到上;ydirection 为 ij时,原点放在坐标区的左上角。y轴的方向从上到下。laxis off,隐藏坐标系。laxis on,显示坐标系。3435有时我们仅对一个坐标轴限制其数据范围,可以用下面命令实现:lxlim(xmin xmax)设置x轴的数据范围lylim(ymin ymax)设置y轴的数据范围lzlim(zmin zmax)设置z轴的数据范围364.1 二维曲线和图形二维曲线和图形2.坐标框在绘图时,有时我们希望图形的四周都显示坐标刻度,则可使用下面命令:lbox on 显示当前坐标轴的坐标框。lbox o
20、ff 不显示当前坐标轴的坐标框。lbox 在box on 和box off之间切换。374.1 二维曲线和图形二维曲线和图形3.网格线grid命令可以在绘图区显示网格线,格式如下:lgrid on 在当前坐标系中添加主要的网格线。lgrid off 从当前的坐标系中取消网格线lgrid 在grid on和grid off之间切换。384.1 二维曲线和图形二维曲线和图形4.标注文字在绘制图形时,可以对图形窗口加上一些文字说明,如图的标题、坐标轴的名称、图形的注释和图例等,我们将这些操作称为添加图形标注ltitle(string),在坐标系的上面显示string中的字符作为标题。ltitle(s
21、tring,Name,Valve),用Name和Valve设置标题的属性。lxlabel(string,Name,Valve),在当前坐标系的x轴显示string中的字符。lylabel(string,Name,Valve),在当前坐标系的y轴显示string中的字符。lzlabel(string,Name,Valve),在当前坐标系的z轴显示string中的字符。394.1 二维曲线和图形二维曲线和图形llegend(string1,string2,.),在当前图形上显示图例,按照绘图顺序用string1,string2等作为标注。ltext(x,y,string),在图形窗口的(x,y)位
22、置显示string中的字符。lgtext(string),用鼠标指向图形窗口的某个位置,然后单击鼠标或任意键,则在鼠标所指向的位置显示string中的字符。404.1 二维曲线和图形二维曲线和图形注注1:Name常用的属性有:FontSize,FontWeight,FontName,Color等。也可以省略。(1)FontSize,设置字体的大小,其值为大于0的整数,默认值为11(磅)。(2)FontWeight,设置文本字符的粗细,其值为bold或normal。(3)FontName,设置字体的名称,其值必须为系统支持的字体名称或 FixedWidth。(4)Color,设置文本的颜色,其值
23、要求与表4-5中Color值的要求相同。注注2:string是一个字符串,可以用单引号也可以用双引号括起来,其内容可以是英文、中文或Tex所支持的Tex标记修饰符见表4-6和它支持的特殊字符见表4-7。414.1 二维曲线和图形二维曲线和图形42修修饰符符说明明示例示例 上标x2_ 下标x_1bf粗体bf sinit斜体it sinsl伪斜体(通常与斜体相同)sl sinrm常规字体rm sinfontnamespecifier设置字体fontname楷体 正弦函数fontsizespecifier设置字号fontsize15正弦函数colorspecifier设置字体颜色colormagen
24、ta正弦函数colorrgbspecifier自定义字体颜色 colorrgb0,0.5,0.5正弦函数4.1 二维曲线和图形二维曲线和图形字符序列字符序列符号符号字符序列字符序列符号符号字符序列字符序列符号符号alphaupsilonsimanglephileqast*chiinftybetapsiclubsuitgammaomegadiamondsuitdeltaGammaheartsuitepsilonDeltaspadesuitzetaThetaleftrightarrowetaLambdaleftarrowthetaXiLeftarrow434.1 二维曲线和图形二维曲线和图形例例4
25、-13 绘制0,2上的正弦函数图像。在在MATLAB中建立命令文件如下中建立命令文件如下:%文件名ex4_13x=0:pi/50:2*pi;y=sin(x);plot(x,y)xlabel(x轴)ylabel(y轴)title(fontname黑体fontsize20正弦函数图像,Color,red)text(pi,0,leftarrow itsin(pi),FontSize,18)444.1 二维曲线和图形二维曲线和图形4.1.4 特殊坐标系绘图1双y轴坐标系绘图有时,需要对函数值变换范围差别较大的两组数据同时绘图,如果采用叠加绘图方式,则很难从图像中辨别出函数值变化范围较小的那组数据的变换
26、趋势细节,这时最好采用双y轴绘图。yyaxis left 设置当前坐标轴左侧纵轴绘制图形,如果当前坐标系没有双y轴或没有坐标系,则该命令创建双y轴坐标系。yyaxis right 设置当前坐标轴右侧纵轴绘制图形,如果当前坐标系没有双y轴或没有坐标系,则该命令创建双y轴坐标系。454.1 二维曲线和图形二维曲线和图形464.1 二维曲线和图形二维曲线和图形2极坐标系绘图MATLAB除提供了直角坐标绘图函数,还提供了极坐标绘图函数。函数polarplot的格式如下:lpolarplot(theta,rho)在极坐标中绘图。向量theta的元素代表弧度参数,向量rho代表从极点开始的长度。lpola
27、rplot(theta,rho,LineSpec),用LineSpec指定线型、点型及颜色,参见4.1.1中的plot命令。474.1 二维曲线和图形二维曲线和图形48例例4-15 画出玖瑰线=acosn的图像。建立函数文件如下建立函数文件如下:function=rose(a,n)theta=0:0.01:2*pi;rho=a*cos(n*theta);polarplot(theta,rho)end 4.1 二维曲线和图形二维曲线和图形3对数坐标绘图MATLAB除了能以直角坐标和极坐标绘图,还提供了两个半对数和对数坐标系绘图函数:semilogx,semilogy,loglog,调用格式分别如
28、下:lsemilogx(x,y):在半对数坐标系中绘图,x轴用以10为底的对数刻度标定,纵轴为线性坐标。这类似于plot(log10(x),y),但是对于log10(0)不能给出警告信息。lsemilogy(x,y):在半对数坐标系中绘图,y轴用以10为底的对数刻度标定,横轴为线性坐标。这类似于plot(x,log10(y),但是对于log10(0)不能给出警告信息。494.1 二维曲线和图形二维曲线和图形504.1 二维曲线和图形二维曲线和图形51subplot(2,2,2);semilogx(x,y);%x轴对数绘图title(Semilog x Plot);xlabel(x);ylabe
29、l(y);grid on;subplot(2,2,3);semilogy(x,y);%y轴对数绘图title(Semilog y Plot);xlabel(x);ylabel(y);grid on;subplot(2,2,4);loglog(x,y);%双对数绘图title(Loglog Plot);xlabel(x);ylabel(y);grid on;4.1 二维曲线和图形二维曲线和图形4.1.5 函数绘图函数绘图前面我们介绍的绘图方法必须先计算出图像上的坐标,然后再调用绘图函数绘图。在对x轴上的绘图区间进行分割时,分割的点数不好把握,点数少了,绘出的图像不光滑,点数太多,计算量增加,并且
30、屏幕像素的点距是固定的,有时会造成计算的浪费。下面介绍的绘图函数就避免了这个问题,只要知道函数的表达式就能绘图。但对于通过采样获得的数据就无能为力了。524.1 二维曲线和图形二维曲线和图形534.1 二维曲线和图形二维曲线和图形544.1 二维曲线和图形二维曲线和图形554.1 二维曲线和图形二维曲线和图形例例4-19 通过观察函数图像,判断f(x)=sin(x+cos(x+sin(x),g(x)=0.2x+sin(x+cos(x+sin(x)是否是周期函数。在在MATLAB中建立命令文件如下中建立命令文件如下:%文件名ex4_19f=(x)sin(x+cos(x+sin(x);g=(x)0
31、.2*x+sin(x+cos(x+sin(x);fplot(f,0,8*pi,-r);hold onfplot(g,0,8*pi,Linewidth,1.5)legend(sin(x+cos(x+sin(x),0.2*x+sin(x+cos(x+sin(x)hold off564.1 二维曲线和图形二维曲线和图形574.1 二维曲线和图形二维曲线和图形4.1.6 常用二维图形的绘制MATLAB能够绘制的二维图形主要有:条形图,饼图,杆状图,阶梯图等。1条形图用一个单位长度表示一定的数量,根据数量的多少,画成长短相应成比例的直条,并按一定顺序排列起来,这样的统计图,称为条形统计图。条形统计图可以
32、清楚地表明各种数量的多少。按照排列方式的不同,可分为纵式条形图和横式条形图;按照分析作用的不同,可分为条形比较图和条形结构图。584.1 二维曲线和图形二维曲线和图形在MATLAB中绘制条形图的函数是bar,调用格式如下:lbar(y,spec)绘制条形图,对参数y中的每个元素用一直条表示,每个直条的位置是y的下标。若y为矩阵则矩阵中的每一行为一组。lbar(x,y,spec)绘制条形图,对参数y中的每个元素用一直条表示,x的值是每个直条的位置。若y为矩阵则矩阵中的每一行为一组。594.1 二维曲线和图形二维曲线和图形说明说明:在上述两个函数格式中,spec是一个可选参数,一般可选下列参数:(
33、1)width 是一个实数,设置每个直条的宽度,默认的宽度是0.8(2)style 是一个字符串,设置条形图的样式,常用样式有grouped,stacked,histc,hist,默认的样式是grouped。(3)color 是一个字符串,设置直条的颜色,使用的字符见表4-1604.1 二维曲线和图形二维曲线和图形61例例4-21 现有一销售部季度销售业绩如表4-8所示,请画出每个部门三个月销售总额的条形图。部门一月份二月份三月份一小组93,450.00124,620.00166,250.00二小组125,050.0096,200.00155,280.00三小组193,800.00146,20
34、0.00163,490.00四小组113,930.00108,960.00124,690.00五小组189,560.00153,890.00135,520.00六小组88,560.00108,590.00125,360.00七小组109,560.00123,140.00155,540.00八小组139,560.00153,760.00135,520.004.1 二维曲线和图形二维曲线和图形在命令行窗口依次输入下面的命令:在命令行窗口依次输入下面的命令:y=93450.00 124620.00166250.00;125050.0096200.00155280.00;.193800.0014620
35、0.00163490.00;113930.00108960.00124690.00;.189560.00153890.00135520.00;88560.00108590.00125360.00;.109560.00123140.00155540.00;139560.00 153760.00135520.00;bar(y,stacked)624.1 二维曲线和图形二维曲线和图形2饼图饼图是以一个圆的面积表示事物的总体,以扇形面积表示占总体的百分数的统计图,又叫作扇形统计图。饼图可以比较清楚地反映出部分与部分、部分与整体之间的数量关系。MATLAB提供的绘制饼图的函数是pie,具体调用格式如下:
36、lpie(x,explode,labels)绘制参数x的饼图。如果x的元素和小于1,则绘制不完全的饼图,否则绘制x的元素所占比例的饼图。explode是与x大小相同的向量,并且其中不为零的元素所对应的相应部分从饼图中独立出来。Labels是一个字符串的单元数组,可对每块扇区加文字标签,其长度与x相同。634.1 二维曲线和图形二维曲线和图形例例4-22用饼图绘制例4-21中一月份各小组的销售业绩,并突现三小组。在命令行窗口依次输入下面的命令:在命令行窗口依次输入下面的命令:y=93450.00 125050.00 193800.00 113930.00 189560.00 88560.00 1
37、09560.00 139560.00;ex=0 0 1 0 0 0 0 0;pie(y,ex)644.1 二维曲线和图形二维曲线和图形3杆状图杆状图与条形图类似,用于表现离散数据,它是用一根一头带小圆圈的直线(每个杆像一根火柴)表示数据的图形,绘制杆状图的函数是stem,调用格式如下:lstem(Y,spec)绘制Y的离散杆状图。lstem(X,Y,spec)绘制以X为横坐标,Y的离散杆状图。X和Y是大小相同的向量或矩阵,若X是向量,则Y是行数等于length(X)的矩阵。654.1 二维曲线和图形二维曲线和图形说明说明:上述两个格式中的spec是一个可选参数,用于说明杆的属性。spec有下面
38、几种:(1)filled 设置杆头上的小圆圈用一种颜色填充。(2)LineSpec 是一个字符串,设置杆的线形、颜色等,具体使用方法见4.1.1plot函数中LineSpec的使用方法。(3)Name,Value 是一对参数,Name是属性名,Value是属性值,详见表4-4664.1 二维曲线和图形二维曲线和图形67例例4-23 用杆状图绘制正弦和余弦函数。在命令行窗口依次输入下面的命令:在命令行窗口依次输入下面的命令:X=linspace(0,2*pi,50);Y1=cos(X);Y2=0.5*sin(X);stem(X,Y1)hold on stem(X,Y2,LineStyle,-.,
39、MarkerFaceColor,red,MarkerEdgeColor,green)4.1 二维曲线和图形二维曲线和图形4阶梯图阶梯图表示绘制的数据趋势会随着时间推移而改变,它通过相邻数据的落差的程度反应数据变化的情况。阶梯图和折线图最主要的区别是:阶梯图处理数据在特定时间点的变化,它广泛应用于财务类,销售类和数值不连续下降和上涨的任意示例,换句话说,就是数字的变化没有覆盖某个区间的所有值。阶梯图的绘图函数是stairs,调用格式如下:lstairs(Y,spec)绘制Y的阶梯状图。如果Y是向量,则绘制一条线,若Y是矩阵,则矩阵的每一列绘制一条线。lstairs(X,Y,spec)绘制以X为横
40、坐标,Y的阶梯图。X和Y是大小相同的向量或矩阵,若X是向量,则Y是行数等于length(X)的矩阵。684.1 二维曲线和图形二维曲线和图形说明:说明:在上述两个格式中的spec是一个可选参数,用于设置线的颜色、宽度等属性,主要有两种形式:(1)LineSpec 是一个字符串,具体使用方法参见4.1.1中的LineSpec。(2)Name,Value 是一对参数,Name是属性名,Value是属性值,详见表4-4694.1 二维曲线和图形二维曲线和图形704.1 二维曲线和图形二维曲线和图形5向量图向量图是用箭头表示具有大小和方向向量的图形,可以用quiver函数绘制,调用格式如下:lquiv
41、er(x,y,u,v)绘制箭头,用来表示起点在(x,y),分量为(u,v)的向量,要求x,y,u,v是同维的向量或矩阵。714.1 二维曲线和图形二维曲线和图形724.1 二维曲线和图形二维曲线和图形73在在MATLAB中建立命令文件如下:中建立命令文件如下:%文件名为ex4_25clearx0=0:0.2:6;y0=0:0.2:3;x,y=meshgrid(x0,y0);%求区域的网格点坐标dy=y.*(0.5-x)+1;dx=ones(size(dy);d=sqrt(dx.2+dy.2);u=dx./d;%向量单位化v=dy./d;%向量单位化quiver(x,y,u,v)4.1 二维曲线
42、和图形二维曲线和图形6流线图 流线是在同一时刻由不同流体质点所组成的曲线,它给出该时刻不同流体质点的运动方向。常用于表示气流等数据的可视化。MATLAB提供了两个绘制流线图的函数,其调用格式如下:lstreamslice(X,Y,U,V),根据向量数据 U、V 绘制间距合适的流线图(带方向箭头)。数组 X 和 Y 用于定义 U 和 V 的坐标,它们必须是单调的,无需间距均匀,X 和 Y 必须具有相同数量的元素。lstreamline(X,Y,U,V,startx,starty),绘制二维向量(U,V)的流线图。其中,X,Y是向量U,V的坐标,不一定是等间距的,但必须是单调的,且X,Y中具有相同
43、的元素个数,startx,starty定义了流线开始的位置。744.1 二维曲线和图形二维曲线和图形754.1 二维曲线和图形二维曲线和图形764.1 二维曲线和图形二维曲线和图形4.2 三维曲线和曲面三维曲线和曲面4.2.1 三维曲线三维曲线MATLAB中最基本的三维曲线图形函数是plot3,将二维绘图函数plot的有关功能扩展到三维空间,用来绘制三维图形。plot3的调用格式如下:lplot3(x,y,z,LineSpec):绘制三维曲线。(1)其中当x,y和z是相同的向量时,则绘制以x,y和z元素为坐标的三维曲线;(2)当x,y和z是同型矩阵时,则绘制以x,y和z元素为坐标的三维曲线,且
44、曲线的条数等于矩阵的列数。(3)LineSpec是指定绘制三维曲线的线型、点型和颜色的字符串,参见4.1.1。77784.2 三维曲线和曲面三维曲线和曲面对三维曲线的绘制同样有函数绘图形式fplot3,调用格式为:lfplot3(funx,funy,funz,tmin,tmax,specification)绘制函数x=funx(t),y=fun y(t)和z=fun z(t)的曲线。funx、funy、funz为函数句柄或匿名函数,tmin,tmax为参数t的取值范围,若省略则t的取值范围为-5,5。说明说明:specification是用于说明线的属性的参数,其形式可以是LineSpec或N
45、ame,Valve,具体使用参见4.1.1中的plot命令。794.2 三维曲线和曲面三维曲线和曲面804.2 三维曲线和曲面三维曲线和曲面4.2.2 三维曲面三维曲面三维曲面有两种绘制形式:表面图和网格图。表面图是用涂有颜色的小面片拼接而成的曲面,网格图是指将相邻的数据点用线段连接起来以形成网状曲面。814.2 三维曲线和曲面三维曲线和曲面与二维绘图类似,三维曲面绘制也分三与二维绘图类似,三维曲面绘制也分三步:步:(1)构造网格数据:首先根据x、y的范围,对x、y的区间进行分割。然后在xy平面构造矩形网格数据。(2)计算曲面上的函数值:根据xy平面上每个网格点上的坐标(x,y),由函数关系计
46、算函数值z,得到矩阵Z。(3)调用曲面函数绘制三维表面图或网格图。824.2 三维曲线和曲面三维曲线和曲面834.2 三维曲线和曲面三维曲线和曲面84852.三维三维表面图表面图绘制三维表面图的函数是surf,有三种调用格式:lsurf(Z),以Z矩阵的行下标作为x坐标,z的列下标当作y坐标,Z的元素值作为z坐标和颜色值绘制三维表面图。lsurf(X,Y,Z),绘制以X为x坐标,Y为y坐标,Z为z坐标和颜色的三维表面图形。其中X,Y可以是矩阵,也可以是向量,Z必须是矩阵。lsurf(X,Y,Z,C),用C定义的颜色绘制三维表面图,若Z是mn的矩阵,则C是mn3的RGB颜色矩阵。4.2 三维曲线
47、和曲面三维曲线和曲面864.2 三维曲线和曲面三维曲线和曲面87MATLAB还提供了直接用函数表达式绘制三维表面图的函数:lfsurf(fun,xmin,xmax,ymin,ymax),绘制二元函数fun(x,y)在xmin,xmax,ymin,ymax范围内的函数图像。若省略第二个参数,默认x范围为区间-5,5,y范围为区间-5,5。lfsurf(funx,funy,funz,smin,smax,tmin,tmax),绘制在smin,smax,tmin,tmax范围内x=funx(s,t),y=funy(s,t)和z=funz(s,t)的三维表面图。若省略最后一个参数,默认s范围为区间-5,
48、5,t的范围为区间-5,5。其中,fun、funx、funy、funz是函数句柄或匿名函数。4.2 三维曲线和曲面三维曲线和曲面884.2 三维曲线和曲面三维曲线和曲面3.三维网格图三维网格图的绘制函数是mesh,除函数名不同外,其调用格式与surf完全相同,调用格式如下:lmesh(Z)以Z矩阵的行下标作为x坐标,z的列下标当作y坐标。Z的元素值作为z坐标和颜色值绘制三维网格图。lmesh(X,Y,Z)绘制以X为x坐标,Y为y坐标,Z为z坐标和颜色的三维网格图形。其中X,Y可以是矩阵,也可以是向量,Z必须是矩阵。lmesh(X,Y,Z,C)用C定义的颜色绘制三维网格图。894.2 三维曲线和
49、曲面三维曲线和曲面904.2 三维曲线和曲面三维曲线和曲面91直接用函数表达式绘制三维网格图的函数为:lfmesh(fun,xmin,xmax,ymin,ymax),绘制二元函数fun(x,y)在xmin,xmax,ymin,ymax范围内的函数图像。若省略第二个参数,默认x范围为区间-5,5,y范围为区间-5,5。lfmesh(funx,funy,funz,smin,smax,tmin,tmax),绘制在smin,smax,tmin,tmax范围内x=funx(s,t),y=funy(s,t)和z=funz(s,t)的三维曲面。若省略最后一个参数,默认s范围为区间-5,5,t的范围为区间-5
50、,5。其中,fun、funx、funy、funz是函数句柄或匿名函数。4.2 三维曲线和曲面三维曲线和曲面924.2 三维曲线和曲面三维曲线和曲面4.2.3 三维图形的属性设置三维图形的属性设置1设置视角MATLAB允许用户从不同的角度观察三维图形,调整视角的函数是view,格式如下:lview(az,el)通过方位角和俯视角设置视角,其中:(1)az是方位角,值为正时是指在xy平面内从y轴负方向开始逆时针旋转的角度;(2)el为俯视角,当值为正时是指从xy平面向z轴正方向旋转的角度,两者单位均为度。lview(x,y,z)通过坐标设置视点的方向,x,y,z是视点所在的直角坐标。注注:系统默认