MATLAB计算的图形绘制_第1页
MATLAB计算的图形绘制_第2页
MATLAB计算的图形绘制_第3页
MATLAB计算的图形绘制_第4页
MATLAB计算的图形绘制_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四讲MATLAB的图形绘制作为一个功能强大的工具软件,Matlab具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面既方便又高效。一、二维曲线的绘制(一)

基本图形函数(二)图形的修饰(三)图形的比较显示常用格式:plot(x)

%绘制以x为纵坐标的二维曲线plot(x,y)

%绘制以x为横坐标,y为纵坐标的二维曲线plot(x1,y1,x2,y2,…)

%绘制多条曲线,不同的矩阵对之间,其维数可以不同

说明:x和y可以是向量或矩阵。

一、二维曲线的绘制(一)基本图形函数

【例1】:>>x1=[143];>>plot(x1)(一)基本图形函数注:当x是实向量时,以该向量的序号为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。一、二维曲线的绘制>>x2=[3576;12241514;3697]

;>>plot(x2)(一)基本图形函数注:当x是实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线。一、二维曲线的绘制>>x3=[123];

>>y3=[123;436]

;plot(x3,y3)

(一)基本图形函数注:当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。一、二维曲线的绘制>>x3=[123];

>>y3=[123;436;789]

;plot(x3,y3)

(一)基本图形函数一、二维曲线的绘制>>x4=[3576;12241514;3697];>>y4=[1342;6875;5439];

>>plot(x4,y4)

(一)基本图形函数注:如果x和y都是矩阵,则大小必须相同,矩阵x的每列和y的每列画一条曲线。一、二维曲线的绘制>>x=0:pi/10:2*pi;>>y1=sin(x);>>y2=cos(x);>>plot(x,y1,x,y2)(一)基本图形函数一、二维曲线的绘制>>plot(x,y1,‘r+-’,x,y2,‘k*:’)%多种颜色或线型来区分不同的数据组(一)基本图形函数一、二维曲线的绘制1.图形标注有关图形标注函数的调用格式为:title(‘s’)%书写图名xlabel(‘s’)%横坐标轴名

ylabel(‘s’)%纵坐标轴名

text(xt,yt,‘s’)%在图形的(xt,yt)坐标处书写文字注释

legend(‘s’,pos)%在指定位置建立图例(二)图形修饰一、二维曲线的绘制函数中的说明文字,除使用标准的ASCII字符外,还可使用LaTeX格式的控制字符,这样就可以在图形上添加希腊字母、数学符号及公式等内容。例如,text(0.3,0.5,‘sin({\omega}t+{\beta})’)将得到标注效果sin(ωt+β)。(二)图形修饰一、二维曲线的绘制2.坐标控制axis函数的调用格式为:axis([xminxmaxyminymaxzminzmax])axis函数功能丰富,常用的格式还有:axisequal:纵、横坐标轴采用等长刻度。axissquare:产生正方形坐标系(缺省为矩形)。axisauto:使用缺省设置。axisoff:取消坐标轴。axison:显示坐标轴。(二)图形修饰一、二维曲线的绘制3.分格线使用grid命令显示分格线。格式:gridon

%显示分格线

gridoff

%不显示分格线

grid

%在以上两个命令间切换说明:不显示分格线是MATLAB的默认设置。分格线的疏密取决于坐标刻度,如果要改变分格线的疏密,必须先定义坐标刻度。(二)图形修饰一、二维曲线的绘制【例2】:>>x=0:pi/10:2*pi;>>y1=sin(x);>>y2=cos(x);>>plot(x,y1,x,y2)>>gridon(二)图形修饰一、二维曲线的绘制>>xlabel('IndependentVariableX')>>ylabel('DependentVariableY')>>title('SineandCosineCurve')>>gtext('sin(x)')(二)图形修饰gtext(‘s’)---用鼠标把字符串放到图形上一、二维曲线的绘制>>text(1.5,0.3,'cos(x)')>>axis([02*pi-0.80.8])(二)图形修饰一、二维曲线的绘制>>legend('sin(x)','cos(x)',4)(二)图形修饰一、二维曲线的绘制1.同一窗口多次叠绘格式:holdon

%使当前坐标系和图形保留

holdoff

%使当前坐标系和图形不保留

hold

%在以上两个命令中切换说明:在设置了“holdon”后,如果画多个图形对象,则在生成新的图形时保留当前坐标系中已存在的图形对象,MATLAB会根据新图形的大小,重新改变坐标系的比例。(三)图形的比较显示一、二维曲线的绘制【例3】:在同一窗口画出函数sinx在区间[02π]的曲线和cosx在区间[-ππ]的曲线。

>>x1=0:0.1:2*pi;>>plot(x1,sin(x1))

(三)图形的比较显示一、二维曲线的绘制>>holdon>>x2=-pi:0.1:pi;>>plot(x2,cos(x2))

(三)图形的比较显示注:坐标系的范围由0~2π转变为-π~2π。一、二维曲线的绘制2.同一窗口多个子图如果需要在同一个图形窗口中布置几幅独立的子图,可以在plot命令前加上subplot命令来将一个图形窗口划分为多个区域,每个区域一幅子图。格式:subplot(m,n,k)%使(m×n)幅子图中的第k幅成为当前图clf

%清除子图!!!说明:子图的序号编排原则是:左上方为第1幅,先向右后向下依次排列,子图彼此之间独立。(三)图形的比较显示一、二维曲线的绘制【例4】:在多个窗口中绘制图形。>>x=0:0.1:2*pi;>>subplot(2,2,1)

%将图形窗口分割为2行2列,第1行第1列(左上方)为当前图

>>plot(x,sin(x))

(三)图形的比较显示一、二维曲线的绘制>>subplot(2,2,2)%右上方为当前图

>>plot(x,cos(x))

(三)图形的比较显示一、二维曲线的绘制>>y3=exp(x);>>subplot(2,2,3)%左下方为当前图>>plot(x,y3)

(三)图形的比较显示一、二维曲线的绘制>>subplot(224)%右下方为当前图,省略逗号

>>plot(x,log(3*x))

(三)图形的比较显示一、二维曲线的绘制3.双纵坐标图格式:plotyy(x1,y1,x2,y2)%以左、右不同纵轴绘制两条曲线说明:左纵轴用于(x1,y1)数据,右纵轴用于(x2,y2)数据来绘制两条曲线。坐标轴的范围、刻度都自动产生。

(三)图形的比较显示一、二维曲线的绘制【例5】:

>>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)(三)图形的比较显示一、二维曲线的绘制一、二维曲线的绘制(三)图形的比较显示格式:

plot3(x,y,z,'s') %绘制三维曲线

plot3(x1,y1,z1,'s1',x2,y2,z2,'s2',…)%绘制多条三维曲线说明:当x、y、z是同维向量时,则绘制以x、y、z元素为坐标的三维曲线;当x、y、z是同维矩阵时,则绘制三维曲线的条数等于矩阵的列数。s是指定线型、色彩、数据点形的字符串。

二、MATLAB的三维图形绘制(一)三维曲线图【例6】:绘制方程在的图像。>>t=0:pi/10:2*pi;>>x=sin(t);>>y=cos(t);>>z=t;>>plot3(x,y,z,'m:p')

二、MATLAB的三维图形绘制(一)三维曲线图

二、MATLAB的三维图形绘制(一)三维曲线图>>gridon>>xlabel('DependentVariableX')>>ylabel('DependentVariableY')>>zlabel('IndependentVariableZ')>>title('SineandCosineCurve')

二、MATLAB的三维图形绘制(一)三维曲线图

二、MATLAB的三维图形绘制(一)三维曲线图(二)三维网线图和曲面图1.meshgrid命令为了绘制三维立体图形,MATLAB的方法是将x方向划分为m份,将y方向划分为n份,meshgrid命令是以x、y向量为基准,来产生在x-y平面的各栅格点坐标值的矩阵。格式:[X,Y]=meshgrid(x,y)说明:X、Y是栅格点的坐标,为矩阵;x、y为向量。

二、MATLAB的三维图形绘制(二)三维网线图和曲面图2.三维网线图mesh函数为数据点绘制网格线,图形中的每一个已知点和其附近的点用直线连接。格式:mesh(z) %画三维网线图

mesh(x,y,z,c)说明:只有参数z时,以z矩阵的行下标作为x坐标轴,把z的列下标当作y坐标轴;x、y分别为x、y坐标轴的自变量;当有x、y、z参数时,c是指定各点的用色矩阵,当c省略时默认用色矩阵是z的数据。如果x、y、z、c四个参数都有,则应该都是维数相同的矩阵。

二、MATLAB的三维图形绘制3.三维曲面图surf函数和mesh的用法类似,但它可以画出着色表面图,图形中的每一个已知点与其相邻点以平面连接。格式:surf(z) %画三维曲面图

surf(x,y,z,c)说明:参数设置与mesh命令相同,c可以省略。

(二)三维网线图和曲面图

二、MATLAB的三维图形绘制【例7】:分别用mesh和surf函数绘制高斯矩阵的曲面。>>z=peaks(40);>>mesh(z)>>surf(z)

z=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)...-10*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)...-1/3*exp(-(x+1).^2-y.^2);

(二)三维网线图和曲面图

二、MATLAB的三维图形绘制一、二维曲线的绘制(二)三维网线图和曲面图一、二维曲线的绘制(二)三维网线图和曲面图【例8】:绘制方程>>x=-7.5:0.5:7.5;>>y=x;>>[X,Y]=meshgrid(x,y);>>R=sqrt(X.^2+Y.^2)+eps;>>Z=sin(R)./R;>>surf(X,Y,Z)(二)三维网线图和曲面图

二、MATLAB的三维图形绘制一、二维曲线的绘制(二)三维网线图和曲面图4.其它立体网线图和曲面图meshc:为立体网状图加等高线;Meshz:为立体网状图加“围裙”。(二)三维网线图和曲面图

二、MATLAB的三维图形绘制一、二维曲线的绘制(二)三维网线图和曲面图一、二维曲线的绘制(二)三维网线图和曲面图5.改变视角格式:view([az,el])%通过方位角和俯仰角改变视角view([vx,vy,vz])

%通过直角坐标改变视角说明:az(方位角)是观察点和坐标原点连线在x-y平面内的投影和y轴负方向的夹角;el(俯仰角)是观察点与坐标原点的连线和x-y平面的夹角。对于这两个角度,三维图形的默认值分别为-37.5和30,二维图形的默认值是0和90。(二)三维网线图和曲面图

二、MATLAB的三维图形绘制【例9】:>>z=peaks(40);>>subplot(2,2,1)>>mesh(z)>>subplot(2,2,2);>>mesh(z)>>view(-37.5,-30)>>subplot(2,2,3);>>mesh(z)>>view(180,0)>>subplot(2,2,4);>>mesh(z)>>view(0,90)(二)三维网线图和曲面图

二、MATLAB的三维图形绘制一、二维曲线的绘制(二)三维网线图和曲面图(一)条形图

条形图常用于对统计的数据进行作图,特别适用于少量且离散的数据。

语法:bar(x,y,width,'参数')

%画条形图bar3(y,z,width,'参数')%画三维条形图说明:x是横坐标向量,省略时默认值是1:m,m为y的向量长度;y是纵坐标,可以是向量或矩阵,

width是竖条的宽度,‘参数’有grouped(分组式)和stacked(累加式)。

三、其他图形函数(一)条形图

【例10】:用条形图表示某年一月份中3日~6日连续四天的温度数据,y矩阵的各列分别表示平均温度、最高温度和最低温度。

>>x=3:6;>>y=[5.300013.00000.40005.100011.8000-1.70003.70008.10000.60001.50007.7000-4.5000]

;>>bar(x,y)>>bar3(x,y)>>bar(x,y,0.5,'stack')

三、其他图形函数(一)条形图

三、其他图形函数(一)条形图

三、其他图形函数(一)条形图

三、其他图形函数(二)面积图和实心图

1、面积图函数area用来绘制面积图,是在plot的基础上填充曲线与横轴之间的面积,该图用于查看某个数在该列所有数的总和中所占的比例,只能用于二维绘图。格式:area(y)%画面积图area(x,y)

三、其他图形函数(二)面积图和实心图

2.实心图函数fill用来绘制实心图,实心图是将数据的起点和终点连成多边形,并填充颜色。格式:fill(x,y,c)

%画实心图说明:c为实心图的颜色,可以用'r'、'g'、'b'、

'c'、'm'、'y'、'w'、'k',或RGB三元组行向量表示。

三、其他图形函数(二)面积图和实心图【例11】:>>x=1:7;>>y=[3,2,5;6,1,8;7,4,9;6,3,7;8,2,9;4,2,9;3,1,7];>>area(x,y)>>fill(x,y,'r')

三、其他图形函数(二)面积图和实心图

三、其他图形函数(三)直方图

格式:hist(y,m)%统计每段的元素个数并画出直方图hist(y,x)说明:m是分段的个数,省略时则默认为10;x是向量,用于指定所分每个数据段的中间值;y可以是向量或矩阵,如果是矩阵则按列分段。

三、其他图形函数(三)直方图

【例12】:y=randn(10,2)y=-0.43256481152822-0.18670857768144-1.665584378238100.725790548293300.12533230647483-0.588316543014190.287676420358552.18318581819710-1.14647135068146-0.13639588308660

三、其他图形函数(三)直方图

1.190915465643000.113931313520811.189164201652101.06676821135919-0.037633276593320.059281460523610.32729236140865-0.095648405483670.17463914282092-0.83234946365002>>x=-2:0.5:2;>>hist(y,x)>>x=-4:1:5;>>hist(y,x)

三、其他图形函数(三)直方图

三、其他图形函数(四)饼图

饼图是用于显示向量中的各元素占向量元素总和的百分比。格式:pie(x,explode,’label’)%画二维饼图

pie3(x,explode,’label’)%画三维饼图说明:x是向量;explode是与x同长度的向量,用来决定是否从饼图中分离对应的一部分块,非零元素表示该部分需要分离;’label’是用来标注饼图的字符串数组。

三、其他图形函数(四)饼图

【例12】:某班计算机考试,90分以上32人,80-90分58人,70-80分27人,60-70分21人,60分以下16人。

>>x=[3258272116];>>explode=[00001];>>pie(x,explode)>>pie(x,explode,{'9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论