版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB 7.0从入门到精通主要讲述内容第1章 MATLAB简介第2章 数值运算第3章 单元数组和结构第4章 字符串第5章 符号运算第6章 MATLAB绘图基础第7章 程序设计第8章 计算方法的MATLAB实现第9章 优化设计第10章 Simulink仿真初探第6章 MATLAB绘图基础6.1二维绘图plot(y)命令中y可以是向量、实数矩阵或复数向量。当y是向量时,绘制的图形以向量索引(1)为横坐标值(起点为1)、以向量元素的值为纵坐标值(横标为点的个数)。 t=1:0.1:10; y=sin(t); plot(y) t=0:0.1:10; y=sin(t); plot(y) t=1:1
2、:10; y=sin(t); plot(y) t=0:1:10; y=sin(t); plot(y) t=1:0.1:10; y=sin(t); plot(t,y) t=1:1:10; y=sin(t); plot(t,y)用plot(y)命令绘制矩阵。则绘制矩阵列向量对其坐标索引(1)的图形。 y=0 1 2;2 3 4;5 6 7; plot(y) y=3 2 6;4 3 9;5 8 7; plot(y)用plot(y)命令绘制复向量。则plot(y)相当于plot(real(y),imag(y)。 x=1:100; y=2:2:200; z=x+y.*i; plot(z) x=1:100
3、; y=1/10.*x.2; z=x+y*i; plot(z) x=1 5 2 7 8 3; y=3 2 1 3 4 9; z=x+y*i; plot(z) x=6 3 7 4 5 2 1; y=2 7 3 1 3 2 4; z=x+y*i; plot(z) z=0.1+0.9i; n=0:0.01:10; plot(z.n)plot(x,y)中x,y均可为向量和矩阵。x,y均为n维向量时,绘制向量y对向量x的图形,即以x为横坐标,y为纵坐标。x为n维向量,y为mn或nm的矩阵时,该命令将在同一图内绘得m条不同颜色的连线。x为公共横标,y为纵标。x,y均为mn矩阵时,将绘得n条不同颜色的连线。
4、用plot(x,y)绘制双向量。 x=-2*pi:0.1:2*pi; y=sin(x)+2; plot(x,y)用plot(x,y)绘制向量和矩阵。 x=0:0.1:10; y=sin(x)+2;cos(x)+1; plot(x,y)用plot(x,y)绘制双矩阵。以x矩阵的第i列分量作为横坐标,矩阵y的第i列分量为纵标,绘得第i条连线。 x=1 2 3;4 5 6;7 8 9;2 3 4;5 6 7; y=2 4 5;3 6 7;4 6 8;1 3 5;2 6 3; plot(x,y)用plot(x,y,s)绘制不同的线型、点标和颜色的图形,其中s为字符,控制线型。x=0:0.1:10;y1
5、=sin(x);y2=cos(x);plot(x,y1,dm,x,y2,-b)例:在区间0,4pi上,绘制函数下列函数的图形,两图采用不同形式的线型。 x=0:0.01:4*pi; y1=exp(-x/3).*sin(3*x); y2=exp(-x/3); y3=-exp(-x/3); plot(x,y1,x,y2,-.b,x,y3,-.r) grid on6.2 三维绘图1、三维曲线图命令plot3 t=0:0.01:10*pi; x=sin(t); y=cos(t); z=t; plot3(x,y,z)用plot3命令绘制向量 t=0:0.01:2*pi; x=sin(t) sin(t)
6、sin(t); y=cos(t) cos(t) cos(t); z=(sin(t).2+(cos(t).2 (sin(t).2+(cos(t).2+1 (sin(t).2+(cos(t).2+3; plot3(x,y,z)2、三维网格图命令mesh与三维曲面图命令surfmeshc与surfc功能在三维图的下面画等高线,meshz功能在三维图下画边界。waterfall命令用于绘制形似瀑布流水形状的网线图。 x,y=meshgrid(-3:0.1:3); z=peaks(x,y); mesh(z) x,y=meshgrid(-3:0.1:3); z=peaks(x,y); meshc(z) x
7、,y=meshgrid(-3:0.1:3); z=peaks(x,y); meshz(z) x=-4:0.1:4; y=x; m=ones(size(y)*x; n=y*ones(size(x); p=sqrt(m.2+n.2)+eps; z=sin(p)./p; mesh(z) x,y=meshgrid(-3:0.1:3); z=peaks(x,y); surf(z) x,y=meshgrid(-3:0.1:3); z=peaks(x,y); surfc(z) x,y=meshgrid(-3:0.1:3); z=peaks(x,y); waterfall(z)6.3特殊图形绘制(1)bar命
8、令绘制二维垂直条形图,用垂直条形显示向量或矩阵中的值。bar(y)为每一个y中元素画一个条状。bar(x,y)在指定的横坐标x上画出y,其中x为严格单增的向量。若y为矩阵,则bar把矩阵分解成几个行向量,在指定的横坐标处分别画出。bar(x,y,width)设置条形的相对宽度和控制在一组内条形的间距。默认值为0.8,如用户没指定x,则同一组内的条形有很小的间距,若设置为1,则同组的条形相互接触。bar(x,y,color)定义条形颜色。bar(x,y,style)用style定义条形类型,可以取值group或stack。其中group为默认的显示模式,表示若y为n*m阶的矩阵,则bar显示n组
9、,每组有m个垂直条形的条形图。stack表示对矩阵y的每一个行向量显示在一个图形中,条形的高度为该行向量中的分量和。其中同一条图中的每个分量用不同的颜色显示出来,从而可以显示每个分量在向量中的分布。barh为绘制水平条状图。例:bartu y=4 1 2;9 4 2;9 8 6;4 0 3;9 1 2; bar(y,r) bar(y,g)(2)bar3命令绘制三维垂直条形图,用垂直条形显示向量或矩阵中的值。bar3(z)为每一个z中元素画一个条状,y为1:N。bar3(y,z)绘制三维条状图,y必须单调增加。bar3(y,z,width)设置条形的相对宽度和控制在一组内条形的间距。默认值为0.
10、8,如用户没指定x,则同一组内的条形有很小的间距,若设置为1,则同组的条形相互接触。bar3(y,z,style)用style定义颜色或条形类型,可以取值group或stack或detach。其中group为默认的显示模式,stack表示对矩阵y的每一个行向量显示在一个图形中, detach形状分开。bar3h为绘制水平条状图。例:bar3tu。 y=4 1 2;9 4 2;9 8 6;4 0 3;9 1 2; bar3(y,r) bar3(y,g)(3)pie命令绘制二维饼图。pie(x)绘制向量x的饼图,向量x中的每一个元素就是饼图中的一个扇形。pie(x,explode)参数explod
11、e和向量x是同维矩阵,如果其中有非零的元素,x矩阵中对应的位置元素在饼图中对应的扇形将向外移出,加以突出。pie(x,labels)参数labels用来定义对应扇形的标签。例:pietu(4)pie3命令绘制三维饼图。pie3(x)绘制向量x的三维饼图,向量x中的每一个元素就是饼图中的一个扇形。pie3(x,explode)参数explode和向量x是同维矩阵,如果其中有非零的元素,x矩阵中对应的位置元素在饼图中对应的扇形将向外移出,加以突出。pie3(x,labels)参数labels用来定义对应扇形的标签。例:pie3tu(5)contour命令绘制二维等高线图。contour(z)绘制表
12、达式z的二维等高线图。contour(z,n)参数n控制等高线的条数。contour(z,v)参数v是一个输入向量,等高线条数等于该向量的长度,而且等高线的数值等于对应向量的元素数值。clabel(c,h)旋转标签并将它们插到等值线中。该函数只插入那些在等值线图中合适的标签,它决定于等值线图的大小。clabel(c,h,manual)将等值线值标在鼠标选定的位置上,回车结束标注。例:contourtu、clabeltu(6)cylinder命令绘制圆柱图形。x,y,z=cylinder返回一个半径和高度均为1的圆柱体的x,y,z轴的坐标值,圆柱体的圆周有20个距离相同的点。x,y,z=cyli
13、nder(r)返回一个半径为r,高度为1的圆柱体的x,y,z轴的坐标值,圆柱体的圆周有20个距离相同的点。x,y,z=cylinder(r,n)返回一个半径为r,高度为1的圆柱体的x,y,z轴的坐标值,圆柱体的圆周有n个距离相同的点。例:cylindertu(7)sphere命令绘制球体。sphere绘制三维直角坐标系中单位球体,该球体由20*20个面组成。sphere(n)绘制三维直角坐标系中单位球体,该球体由n*n个面组成。例: spheretu6.4 图形格式控制1、grid on(grid off)与hold on(hold off)grid控制网格的打开与关闭,hold on与hol
14、d off控制多图是否画在同一个图上,如果是hold off则最后一个图替换前面所有的图。 x=0:0.1:2*pi; y=sin(x); plot(x,y) grid on x=0:0.1:2*pi; y=sin(x); plot(x,y) grid on grid off(默认状态) x=0:0.1:2*pi; y1=sin(x); y2=cos(x); plot(x,y1) plot(x,y2) x=0:0.1:2*pi; y1=sin(x); y2=cos(x); plot(x,y1) hold on plot(x,y2) x=-1:0.01:1; y1=3+exp(-x).*sin(
15、6*x); y2=4+exp(-x).*cos(6*x); plot(0.1+0.9i).(0:0.01:10) hold on plot(y1,y2) grid on gtext(y2相对y1) gtext(z虚部相对实部) x=0:0.1:2*pi; y1=sin(x); y2=cos(x); plot(x,y1) hold on plot(x,y2) grid on2、坐标轴标注和图形标题xlabel (string,property name,.)xlabel (fname)ylabel (string,property name,.)ylabel (fname)title(strin
16、g,property name,.)title(fname)其中string是标注所用的说明语句,fname是一个函数名,系统要求该函数必须返回一个字符串作为标注语句。 x=0:0.01:2*pi; y=sin(x); plot(x,y) xlabel(x(0-2pi) ylabel(y=sin(x) title(正弦函数)用文本标注图形text(x,y,string,propertyname,.)gtext(string1,string2,.)text要指清标注位置,gtext命令后会在图上出现个十字符号,可以把标注标在鼠标任意能达到的地方。图例标注legend(string1,string
17、2,.) x=0:0.1:2*pi; y=sin(x); plot(x,y) text(pi/2,1,x=pi/2,y=1) text(pi,0,x=pi,y=0) x=0:0.1:2*pi; y=sin(x); plot(x,y) text(pi/2,1,x=pi/2,y=1) text(pi,0,x=pi,y=0) hold on plot(pi/2,1,*) hold on plot(pi,0,o) x=0:0.1:2*pi; y=sin(x); plot(x,y) gtext(x=pi/2,y=1) x=-pi:0.01:pi; y=sin(x); y1=cos(x); plot(x,
18、y,-ro,x,y1,-.b) legend(sin,cos,2)后面的数字表示图例在图上的位置。详细见教材。1,2,3,4表示标注在四个角上,先从右上角开始,逆时针排列。0是自动定位,使得图标与图形重叠最少。不加默认为1。 x=-pi:0.01:pi; y=sin(x); y1=cos(x); plot(x,y,-ro,x,y1,-.b) legend(sin,cos,1) x=-pi:0.01:pi; y=sin(x); y1=cos(x); plot(x,y,-ro,x,y1,-.b) legend(sin,cos,3) x=-pi:0.01:pi; y=sin(x); y1=cos(x
19、); plot(x,y,-ro,x,y1,-.b) legend(sin,cos,4) x=-pi:0.01:pi; y=sin(x); y1=cos(x); plot(x,y,-ro,x,y1,-.b) legend(sin,cos,0) x=-pi:0.01:pi; y=sin(x); y1=cos(x); plot(x,y,-ro,x,y1,-.b) legend(sin,cos)3、坐标轴控制axis(xmin xmax ymin ymax)axis 控制字符串,字符串为auto时是自动模式,使得坐标轴范围能容纳下所有的图形;字符串为manual时以当前的坐标范围限定图形的绘制,此后使
20、用hold on命令再次绘图时保持坐标轴范围不变;字符串为tight时将坐标范围限制在指定的数据范围内。用于控制坐标轴的范围。box on和box off用来控制图形四周能否显示坐标。axis square坐标轴为方形。axis equal横纵坐标刻度标准相同。 x=-pi:0.01:pi; y1=sin(x); y2=2*cos(x); plot(x,y1) axis manual hold on plot(x,y2,r) x=-pi:0.01:pi; y=sin(x); plot(x,y) grid on x=-pi:0.01:pi; y=sin(x); plot(x,y) grid on
21、 box off t=0:0.01:2*pi; x=sin(t); y=cos(t); plot(x,y) t=0:0.01:2*pi; x=sin(t); y=cos(t); plot(x,y) axis square t=0:0.01:2*pi; x=sin(t); y=cos(t); plot(x,y) axis equal t=0:0.01:2*pi; y=cos(t); plot(t,y) t=0:0.01:2*pi; y=cos(t); plot(t,y) axis square t=0:0.01:2*pi; y=cos(t); plot(t,y) axis equal4、子图su
22、bplot(m,n,i)plot(xi,yi)在m*n个窗口的第i个窗口绘制yi=f(xi)的图形。 x=0:0.01:pi/2; y1=sin(x); y2=cos(x);y3=tan(x);y4=cot(x); subplot(2,2,1);plot(x,y1); title(y=sin(x) subplot(2,2,2);plot(x,y2); title(y=cos(x) subplot(2,2,3);plot(x,y3); title(y=tan(x) axis(0 pi/2 0 10) subplot(2,2,4);plot(x,y4); title(y=cot(x) axis(0
23、 pi/2 0 10)5、图形数据取点x,y=ginput(n)可通过鼠标选取n个点,它们的坐标值保存在x,y中,可通过回车结束取点。x,y=ginput取点数目不受限制,它们的坐标保存在x,y中,通过回车结束取点。 x=0:0.01:2*pi; y=sin(x); plot(x,y) m,n=ginput(2)m = 2.3629 3.8468n = 0.7105 -0.6520 hold on plot(m,n,or) text(m(1),n(1),m(1)=,num2str(m(1),n(1)=,num2str(n(1) text(m(2),n(2),m(2)=,num2str(m(2)
24、,n(2)=,num2str(n(2) x=-pi:0.01:pi; y=sin(x)+sin(2*x)-cos(3*x); h=plot(x,y); x=get(h,XData); y=get(h,YData); imin=find(min(y)=y); imax=find(max(y)=y); hold on text(x(imin),y(imin),minimum=,num2str(y(imin); hold ontext(x(imax),y(imax),maximum=,num2str(y(imax);6、多轴曲线图多轴曲线图采用plotyy命令。 x=0:0.01:20; y1=10
25、0*exp(-0.05*x).*sin(x); y2=exp(-0.5*x).*sin(10*x); ax,h1,h2=plotyy(x,y1,x,y2); ylabel(left yaxis) axes(ax(2) ylabel(right yaxis) set(h1,linestyle,-)6.5三维图形的编辑(1)设置背景颜色在MATLAB中,设置图形背景颜色的命令是colordef。colordef white将图形背景设为白色;colordef black将图形背景设为黑色;colordef none将图形背景和图形窗口的颜色设为默认颜色;colordef(fig.color_opt
26、ion)将图形句柄fig图形的背景由color_option指定设置。例: colordeftu(2)在MATLAB中,caxis命令的主要功能是设置数值轴的颜色。caxis(cmin cmax)在区间范围内对应的颜色给图形着色。例:caxistu(3)在MATLAB中,colorbar命令的主要功能是显示指定颜色刻度的颜色标尺。colorbar更新最近生成的颜色标尺,如果当前坐标轴系统中没有任何颜色标尺,则在图形的右侧显示一个垂直的颜色标尺;colorbar(vert)添加一个垂直的颜色标尺到当前的坐标轴系统中;colorbar(horiz)添加一个水平的颜色标尺到当前的坐标轴系统中。例:c
27、olorbartu(4)在MATLAB中,shading命令设置图形颜色的着色方式。shading flat使用平滑方式着色。网格图的某条线段,或者曲面图中的某整个贴片都是一种颜色,该颜色取自线段的两端,或者该贴片四顶点中下标最小那点的颜色;shading interp使用插值方式着色。使用网格图线段,或者曲面图贴片上各点的颜色由该线段两端,或者该贴片四顶点的颜色线性插值而得;shading faceted以平面为单位进行着色,是系统默认的着色方式。例:shadingtu(5)在MATLAB中,light命令是为图形建立光源。light(name,value,)其中,name是一些光源的颜色、
28、位置和类型等的变量名。例:lighttu(6)MATLAB还提供设置曲面光源模式的lighting命令,该命令可以显示不同的照明模式,但是必须在light命令执行后才能起作用。lihgting flat平面模式,系统默认,入射光均匀洒落在图形对象的每个面上;lihgting gouraud点模式,先对顶点颜色进行插补,再对顶点勾画的面色进行插补;lihgting phong对顶点处法线插值,再计算像素的反光,效果好费时间;lihgting none关闭所有光源。例:lightingtu(7)MATLAB中,material命令可以控制光照效果的材质属性,也就是设置图形表面对光照反射的模式。material shiny使对象比较明亮,镜反射份额较大,反射光的颜色取决于光源的颜色;material dull使对象比较暗淡,漫反射份额较大,反射光的颜色取决于光源的颜色;material metal使对象有金属光泽,反射光的颜色取决于光源的颜色和图形表面的颜色,这是MATLAB内部的默认设置;material default返回到MATLAB中的默认设置。例:materia
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论