MATLAB图形绘制课件_第1页
MATLAB图形绘制课件_第2页
MATLAB图形绘制课件_第3页
MATLAB图形绘制课件_第4页
MATLAB图形绘制课件_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

MATLAB图形绘制2008.4.93/14/20231本次课程主要介绍内容基本图形绘制(平面)三维图像绘制特殊图形绘制MATLAB编程绘制曲线仿真系统分析图形绘制3/14/20232哈尔滨理工大学机械动力工程学院蔺勇智制作1.绘制3条普通的正弦曲线,区间为0~2π,步长为π/100。命令为:t=0:pi/100:2*pi;y=sin(t);y2=sin(t-0.25);y3=sin(t-0.5);plot(t,y,t,y2,t,y3)如果想指定线形,则进行如下操作。plot(t,y,'-',t,y2,'--',t,y3,':')绘制图形如图所示基本图形绘制返回3/14/20233哈尔滨理工大学机械动力工程学院蔺勇智制作三维图形绘制准备绘图数据。数据可以是实际工作中采集的数据,也可以由各种命令或函数创建。如峰形函数peaks来生成实验数据。创建出图形窗口。可以用figure函数创建,也可以由灰图函数自动创建窗口。调用二维绘图命令。例如plot、mesh、surf等函数。当然,也可以自己编写灰图函数命令,根据需要绘制图形。修饰图形。例如标注轴、设置视角、设置光源、改变着着色模式等,当然,也可以使用MATLAB提供的默认值。下面将以创建一幅三维图形进行说明,具体步骤如下:返回3/14/20235哈尔滨理工大学机械动力工程学院蔺勇智制作

plot3函数一般的语法调用格式为:plot3(x,y,z)调用该命令后,将在三维空间产生一条曲线,该曲线上的点的坐标分别为矢量x、y、z的相应元素。同时,MATLAB还为该三维曲线生成二维投影。例如,以下程序代码将绘制一条三维螺旋线,绘制结果如下所示t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)axissquare;gridon3/14/20236哈尔滨理工大学机械动力工程学院蔺勇智制作三维绘图指令示例:subplot(221)x=6*rand(100,1)-3;%x为[-3,3]间的100点随即数y=6*rand(100,1)-3;%y为[-3,3]间的100点随即数z=peaks(x,y);%z为peaks指令产生的100点输出[X,Y]=meshgrid(-3:0.1:3);%网格点输出Z=griddata(x,y,z,X,Y,'cubic');%曲面网格点插值输出mesh(X,Y,Z);%绘制立体网状图holdon%在当前坐标轴图形里添加绘制图形plot3(x,y,z,'.','MarkerSize',16);%绘出100点采样值holdoff%重置坐标系,绘制新图形3/14/20237哈尔滨理工大学机械动力工程学院蔺勇智制作3/14/20239哈尔滨理工大学机械动力工程学院蔺勇智制作特殊图形绘制面域图、直方图、饼图、等高线、相量图、散点图等均属于特殊图形的范畴,现在详细介绍如下其绘制方法:1.面域图、直方图、饼图直方图和面域图主要用于在一定时域内比较不同数据集的结果,并且显示这些数据的总和。直方图用于离散数据的显示,而面域图显示连续数据的显示。饼图用来显示数据元素在总体中所占的百分比的情况,排列图是相量按递减顺序的直方图,它反映出递减数据百分比的变化情况。这四种图形直观体现了数据间的大小关系或比例情况。返回3/14/202310哈尔滨理工大学机械动力工程学院蔺勇智制作area函数的示例如下:Y=[1,5,3;3,2,7;%曲线一:[1312]1,5,3;%曲线二:[6568]=[1312]+[5256]2,6,1];%曲线三:[91299]=[6568]+[3731]subplot(221)area(Y)%依次列项相加绘制曲线(如上面的三个曲线相量),并填充曲线中的区域gridonsubplot(222)Y=rand(3,5);h=bar(Y,1);subplot(223)Y=cool(7);bar3(Y,'stacked')subplot(224)bar3h(Y,0.25,'detached')3/14/202311哈尔滨理工大学机械动力工程学院蔺勇智制作

饼图pie函数有多种格式。在pie(X)中X可以是相量也可以是矩阵。如果X中各个元素的和大于等1,则绘制出来的饼图中每个切片占整个饼图的百分比为这个元素在X的元素值和中的百分比。如果X中各个元素的和小于1,则绘制的是一个不完整的饼图,每个切片占整个饼图的百分比就是对应于这这个元素的值。

3/14/202313哈尔滨理工大学机械动力工程学院蔺勇智制作pie(X,explode)中的参数explode的维数须和X的维数一致,explode中非零元对应的切片就是分离的切片。pareto(Y)中的条形长度对应于Y元素的数值,Y递减顺序的下标作为x轴的数值,这里Y只能是相量。pareto(Y,names)中的参数names元素作为每个条形x轴标注,pareto(Y,X)中的X参数元素值作为对应Y元素的x轴标注。3/14/202314哈尔滨理工大学机械动力工程学院蔺勇智制作现举例子说明如下:subplot(121)x=[130.52.52];explode=[01000];pie(x,explode)subplot(122)names={'一','二','三','四','五'};pareto(x,names)其绘制结果如下页所示3/14/202315哈尔滨理工大学机械动力工程学院蔺勇智制作2.等高线的绘制在地理、气象等学科中,我们经常需要反映地理、海流等随经纬度变化的情况,这时就需要绘制等高线。在MATLAB中提供了两类等高线绘制函数:二维等高线函数(contour、contourf)和三维等高线函数(contour3),另外contourc函数提供计算数组等高线的功能。现在举一个例子简单说明一下等高线的绘制3/14/202317哈尔滨理工大学机械动力工程学院蔺勇智制作绘制等高线的示例:[X,Y]=meshgrid(-2:.2:2,-2:.2:3);%表面网格函数Z=X.*exp(-X.^2-Y.^2);subplot(131)[C,b]=contour(X,Y,Z,10);clabel(C,h)%等高线的标注subplot(132)[C,h]=contourf(peaks,10);%绘制等高线并填充,格式与contour函数一致caxis([-2020])%伪彩色,设置轴参数CLim和CLimModeclabel(C,h)subplot(133)[C,h]=contour3(X,Y,Z,30);%绘制三维等高线,格式和contour函数类似3/14/202318哈尔滨理工大学机械动力工程学院蔺勇智制作3/14/202319哈尔滨理工大学机械动力工程学院蔺勇智制作程序如下:[X,Y]=meshgrid(-2:.2:2);Z=X.*exp(-X.^2-Y.^2);subplot(121)[DX,DY]=gradient(Z,.2,.2);%梯度计算contour(X,Y,Z)%绘制等高线holdon,quiver(X,Y,DX,DY)%绘制箭头holdoffsubplot(122)[U,V,W]=surfnorm(X,Y,Z);%计算三维表面图的法线quiver3(X,Y,Z,U,V,W,0.5);%绘制三维箭头图holdon,surf(X,Y,Z);%绘制网格表面图axis([-22-22-.4.4]),holdoff%设定坐标3/14/202321哈尔滨理工大学机械动力工程学院蔺勇智制作绘制结果如图所示3/14/202322哈尔滨理工大学机械动力工程学院蔺勇智制作4.直方图的绘制直方图是通过一组矩形条来反映数据的分布情况。直方图包括笛卡儿坐标系下的直方图和极坐标系下的直方图。hist函数用于绘制笛卡儿坐标系下的直方图,例如:subplot(121),x=-2.9:0.1:2.9;y=randn(1000,1);%生成一个随即数矩阵hist(y,x)%绘制笛卡儿坐标系下的直方图subplot(122)theta=2*pi*rand(1,50);rose(theta)%绘制极坐标系下的直方图3/14/202323哈尔滨理工大学机械动力工程学院蔺勇智制作5.散点图的绘制在科学和工程计算中,散点图用于大量数据分布情形的统计分析。在MATLAB中用于绘制散点图的函数有三个:scatter函数、scatter3函数、和plotmatrix函数。scatter(X,Y,S,C)、scatter(X,Y)和scatter(X,Y,S)表示在向量X和Y所在的坐标处绘制一个圆形的图标。参数S定义了圆形图标的大小,可以为向量也可以为一个常数,S为向量时,S长度应该和X,Y相同,S为一个常量时,圆形图标具有相同的大小。3/14/202325哈尔滨理工大学机械动力工程学院蔺勇智制作参数C定义了每个圆形图标的颜色。当C为向量时,C的长度应该和X保持一致,每个图形图标的颜色由C的元素决定。当C为length(X)*3的矩阵时,图形图标的颜色由RGB参数定义。C也可以是颜色字符串量。(如’r’,’y’)等。现在举一个绘制散点图的例子,例子如下:subplot(121),loadseamount%打开海(底)山数据scatter(x,y,5,z)%绘制散点图subplot(122),[x,y,z]=sphere(16);%获取球体的坐标X=x(:),Y=y(:),Z=z(:);%矩阵的转换3/14/202326哈尔滨理工大学机械动力工程学院蔺勇智制作6.圆柱体、椭圆体、球体和彩带图函数的特殊三维图的绘制圆柱体cylinder函数、椭圆体vellipsoid函数、球体sphere函数和彩带图ribbon函数是一些比较特殊的三维绘图函数。现在简单举例如下:程序:subplot(221),t=0:pi/10:2*pi;[X,Y,Z]=cylinder(2+cos(t));%绘制圆柱体surf(X,Y,Z),axissquaresubplot(222)3/14/202329哈尔滨理工大学机械动力工程学院蔺勇智制作[xyz]=ellipsoid(1,2,3,5,1,10);%椭圆体数据产生view(3),surface(x,y,z)%绘制椭圆,中心为(1,2,3),半径为(5,1,10)subplot(223)sphere,axisequal%绘制球体subplot(224)[x,y]=meshgrid(-3:.5:3,-3:.1:3);z=peaks(x,y);ribbon(y,z)%绘制彩带图3/14/202330哈尔滨理工大学机械动力工程学院蔺勇智制作3/14/202331哈尔滨理工大学机械动力工程学院蔺勇智制作MATLAB编程绘制曲线MATLAB也可以运用循环语句来绘制曲线,本节主要介绍如果根据已知数学表达式来运用MATLAB循环语句绘制曲线的方法,现在向大家介绍一个用switch-case语句绘制曲线的例子。例:绘制的曲线。程序如下:t=[0:0.1:18];forx=0.2:0.2:0.8;返回3/14/202332哈尔滨理工大学机械动力工程学院蔺勇智制作b=sqrt([1-x^2]);z=atan(b/x);y1=-t*x;y2=t*b+z;y=1-exp(y1).*sin(y2)/b;switchround(10*x)%将x圆整成整数case2plot(t,y,‘r-’),holdon%采用switch结构,根据不同x值,

曲线用不同颜色、数据点画出。case4plot(t,y,'b*'),holdoncase6plot(t,y,'k.'),holdonotherwiseplot(t,y,'g+'),holdonendxlabel('t(秒)'),ylabel('y'),title('二阶系统阶跃响应')legend('{\xi}=0.2','{\xi}=0.4','{\xi}=0.6','{\xi}=0.8')3/14/202333哈尔滨理工大学机械动力工程学院蔺勇智制作3/14/202334哈尔滨理工大学机械动力工程学院蔺勇智制作仿真系统分析图形绘制在介绍此类曲线的绘制之前,先向大家介绍一些这部分的基本知识。1.传递函数模型:对于一个连续单输入单输出(SISO)的LTI系统,设输入量为Xi(s),输出量为Xo(s)则系统的传递函数G(s)可以表示为返回3/14/202335哈尔滨理工大学机械动力工程学院蔺勇智制作对应的脉冲传递函数为

在MATLAB中,传递函数描述法是通过传递函数分子和分母关于s降序排列的多项式系数来表示的,并用向量num和den表示:num=[b0b1…bm-1bm]den=[a0a1…am-1am]3/14/202336哈尔滨理工大学机械动力工程学院蔺勇智制作在本节中,主要向大家介绍一下连续系统频率特性的MATLAB函数。所以这里有必要给大家介绍一下如何运用MATLAB对频率响应函数的计算方法。2.频率响应函数的计算(1)polyval()因为G(jw)的分子、分母均为有理多项式,可用多项式计算指令ployval()计算系统的频率响应,其调用格式为Y=polyval(P,X)3/14/202337哈尔滨理工大学机械动力工程学院蔺勇智制作【说明】P是多项式系数向量(降幂排列),X是自变量(应设为jw),Y是返回的计算结果(复数数组)。对Y利用abs()、angle()即可求出系统的幅频特性和相频特性。

3/14/202338哈尔滨理工大学机械动力工程学院蔺勇智制作例如:绘制系统的幅频特性曲线和相频特性曲线。程序如下:num=[1111];den=[11540];w=0.05:0.01:0.5*pi;%产生频率向量Gw=polyval(num,j*w)./polyval(den,j*w);%产生频率特性mag=abs(Gw);%计算幅频特性theta=angle(Gw);%计算相频特性subplot(2,1,1),plot(w,mag)grid,title('幅频特性')ylabel('|G|')3/14/202339哈尔滨理工大学机械动力工程学院蔺勇智制作subplot(2,1,2),plot(w,theta)grid,title('相频特性')xlabel('\omega(rad/s)'),ylabel('deg')3/14/202340哈尔滨理工大学机械动力工程学院蔺勇智制作(2)freqs()若已知系统传递函数,还可以用freqs求系统的频率相应。其有以下几种调用格式h=freqs(b,a,w)指定实式角频率,返回响应值。

温馨提示

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

评论

0/150

提交评论