MATLAB图形绘制课件

上传人:29 文档编号:241666244 上传时间:2024-07-14 格式:PPT 页数:48 大小:2MB
返回 下载 相关 举报
MATLAB图形绘制课件_第1页
第1页 / 共48页
MATLAB图形绘制课件_第2页
第2页 / 共48页
MATLAB图形绘制课件_第3页
第3页 / 共48页
点击查看更多>>
资源描述
本次课程主要介绍内容v基本图形绘制(平面)v三维图像绘制v特殊图形绘制vMATLAB编程绘制曲线v仿真系统分析图形绘制7/14/20241哈尔滨理工大学机械动力工程学院 蔺勇智制作本次课程主要介绍内容基本图形绘制(平面)8/14/202311.绘制3条普通的正弦曲线,区间为02,步长为/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,:)绘制图形如图所示基本图形绘制基本图形绘制返回7/14/20242哈尔滨理工大学机械动力工程学院 蔺勇智制作1.绘制3条普通的正弦曲线,区间为02,步长为/1002.数据点绘制随意定义2个矢量,如下面所示命令为:x=0:pi/15:4*pi;y=exp(2*cos(x);plot(x,y,r+)%r表示颜色为红色,+表示点的形状。绘制图形如图所示7/14/20243哈尔滨理工大学机械动力工程学院 蔺勇智制作2.数据点绘制绘制图形如图所示8/14/20233哈尔滨理工三维图形绘制三维图形绘制v准备绘图数据。数据可以是实际工作中采集的数据,也可以由各种命令或函数创建。如峰形函数peaks来生成 实验数据。v创建出图形窗口。可以用figure函数创建,也可以由灰 图函数自动创建窗口。v调用二维绘图命令。例如plot、mesh、surf等函数。当然,也可以自己编写灰图函数命令,根据需要绘制图 形。v修饰图形。例如标注轴、设置视角、设置光源、改变着着色模式等,当然,也可以使用MATLAB提供的默认 值。下面将以创建一幅三维图形进行说明,具体步骤如下:返回7/14/20244哈尔滨理工大学机械动力工程学院 蔺勇智制作三维图形绘制准备绘图数据。数据可以是实际工作中采集的数据,也 plot3函数一般的语法调用格式为:plot3(x,y,z)调用该命令后,将在三维空间产生一条曲线,该曲线上的点的坐标分别为矢量x、y、z的相应元素。同时,MATLAB还为该三维曲线生成二维投影。例如,以下程序代码将绘制一条三维螺旋线,绘制结果如下所示t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)axis square;grid on7/14/20245哈尔滨理工大学机械动力工程学院 蔺勇智制作 plot3函数一般的语法调用格式为:8/14/三维绘图指令示例: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);%绘制立体网状图hold on%在当前坐标轴图形里添加绘制图形plot3(x,y,z,.,MarkerSize,16);%绘出100点采样值hold off%重置坐标系,绘制新图形7/14/20246哈尔滨理工大学机械动力工程学院 蔺勇智制作三维绘图指令示例:8/14/20236哈尔滨理工大学机械动力axis tight%设置坐标数值范围为当前数据范围subplot(2,2,2)ezsurfc(sin(x*y)/(x*y);%精确绘制带有等高线的曲面图subplot(2,2,3)t=linspace(0,10*pi,501);plot3(t.*sin(t),t.*cos(t),t,t.*sin(t),t.*cos(t),-t);%同时绘制两条曲线subplot(2,2,4)X,Y,Z=peaks(30);waterfall(X,Y,Z)%水流效果7/14/20247哈尔滨理工大学机械动力工程学院 蔺勇智制作axis tight%设置坐标数值范围为当前数据范围8/147/14/20248哈尔滨理工大学机械动力工程学院 蔺勇智制作8/14/20238哈尔滨理工大学机械动力工程学院 蔺勇智制特殊图形绘制特殊图形绘制 面域图、直方图、饼图、等高线、相量图、散点图等均属于特殊图形的范畴,现在详细介绍如下其绘制方法:1.面域图、直方图、饼图 直方图和面域图主要用于在一定时域内比较不同数据集的结果,并且显示这些数据的总和。直方图用于离散数据的显示,而面域图显示连续数据的显示。饼图用来显示数据元素在总体中所占的百分比的情况,排列图是相量按递减顺序的直方图,它反映出递减数据百分比的变化情况。这四种图形直观体现了数据间的大小关系或比例情况。返回7/14/20249哈尔滨理工大学机械动力工程学院 蔺勇智制作特殊图形绘制 面域图、直方图、饼图、等高线、相量area函数的示例如下:Y=1,5,3;3,2,7;%曲线一:1 3 1 2 1,5,3;%曲线二:6 5 6 8=1 3 1 2+5 2 5 6 2,6,1;%曲线三:9 12 9 9=6 5 6 8+3 7 3 1subplot(221)area(Y)%依次列项相加绘制曲线(如上面的三个曲线相量),并填充曲线中的区域grid onsubplot(222)Y=rand(3,5);h=bar(Y,1);subplot(223)Y=cool(7);bar3(Y,stacked)subplot(224)bar3h(Y,0.25,detached)7/14/202410哈尔滨理工大学机械动力工程学院 蔺勇智制作area函数的示例如下:8/14/202310哈尔滨理工大学绘制结果如下所示:7/14/202411哈尔滨理工大学机械动力工程学院 蔺勇智制作绘制结果如下所示:8/14/202311哈尔滨理工大学机械动 饼图pie函数有多种格式。在pie(X)中X可以是相量也可以是矩阵。如果X中各个元素的和大于等1,则绘制出来的饼图中每个切片占整个饼图的百分比为这个元素在X的元素值和中的百分比。如果X中各个元素的和小于1,则绘制的是一个不完整的饼图,每个切片占整个饼图的百分比就是对应于这这个元素的值。7/14/202412哈尔滨理工大学机械动力工程学院 蔺勇智制作 饼图pie函数有多种格式。在pie(X)中 pie(X,explode)中的参数explode的维数须和X的维数一致,explode中非零元对应的切片就是分离的切片。pareto(Y)中的条形长度对应于Y元素的数值,Y递减顺序的下标作为x轴的数值,这里Y只能是相量。pareto(Y,names)中的参数names元素作为每个条形x轴标注,pareto(Y,X)中的X参数元素值作为对应Y元素的x轴标注。7/14/202413哈尔滨理工大学机械动力工程学院 蔺勇智制作 pie(X,explode)中的参数expl现举例子说明如下:subplot(121)x=1 3 0.5 2.5 2;explode=0 1 0 0 0;pie(x,explode)subplot(122)names=一一,二二,三三,四四,五五;pareto(x,names)其绘制结果如下页所示其绘制结果如下页所示7/14/202414哈尔滨理工大学机械动力工程学院 蔺勇智制作现举例子说明如下:8/14/202314哈尔滨理工大学机械动7/14/202415哈尔滨理工大学机械动力工程学院 蔺勇智制作8/14/202315哈尔滨理工大学机械动力工程学院 蔺勇智2.等高线的绘制 在地理、气象等学科中,我们经常需要反映地理、海流等随经纬度变化的情况,这时就需要绘制等高线。在MATLAB中提供了两类等高线绘制函数:二维等高线函数(contour、contourf)和三维等高线函数(contour3),另外contourc函数提供计算数组等高线的功能。现在举一个例子简单说明一下等高线的绘制7/14/202416哈尔滨理工大学机械动力工程学院 蔺勇智制作2.等高线的绘制8/14/202316哈尔滨理工大学机械动力绘制等高线的示例: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(-20 20)%伪彩色,设置轴参数CLim和CLimModeclabel(C,h)subplot(133)C,h=contour3(X,Y,Z,30);%绘制三维等高线,格式和 contour函数类似7/14/202417哈尔滨理工大学机械动力工程学院 蔺勇智制作绘制等高线的示例:8/14/202317哈尔滨理工大学机械动7/14/202418哈尔滨理工大学机械动力工程学院 蔺勇智制作8/14/202318哈尔滨理工大学机械动力工程学院 蔺勇智3.向量图的绘制 在MATLAB中,箭头图通常用来表示方向。二维箭头图quiver(X,Y,U,V)在点(X,Y)上用箭头绘制具有元素(U,V)的速度向量。矩阵X、Y、U、V必须具有相同的大小,其中含有相应的位置和速度向量。quiver(,scale)中的参数scale代表缩放的比例,scale=0时,向量为默认长度:1,此时自动调整缩放比例,以防止图形交叠。三维箭头图函数的使用办法和二维箭头图函数类似,很容易理解,看下面的实例。7/14/202419哈尔滨理工大学机械动力工程学院 蔺勇智制作3.向量图的绘制8/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)%绘制等高线hold on,quiver(X,Y,DX,DY)%绘制箭头hold offsubplot(122)U,V,W=surfnorm(X,Y,Z);%计算三维表面图的法线quiver3(X,Y,Z,U,V,W,0.5);%绘制三维箭头图hold on,surf(X,Y,Z);%绘制网格表面图axis(-2 2-2 2-.4.4),hold off%设定坐标7/14/202420哈尔滨理工大学机械动力工程学院 蔺勇智制作程序如下:8/14/202320哈尔滨理工大学机械动力工程学绘制结果如图所示7/14/202421哈尔滨理工大学机械动力工程学院 蔺勇智制作绘制结果如图所示8/14/202321哈尔滨理工大学机械动力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)%绘制极坐标系下的直方图7/14/202422哈尔滨理工大学机械动力工程学院 蔺勇智制作4.直方图的绘制8/14/202322哈尔滨理工大学机械动力7/14/202423哈尔滨理工大学机械动力工程学院 蔺勇智制作8/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为一个常量时,圆形图标具有相同的大小。7/14/202424哈尔滨理工大学机械动力工程学院 蔺勇智制作5.散点图的绘制8/14/202324哈尔滨理工大学机械动力 参数C定义了每个圆形图标的颜色。当C为向量时,C的长度应该和X保持一致,每个图 形 图 标 的 颜 色 由C的 元 素 决 定。当C为length(X)*3的矩阵时,图形图标的颜色由RGB参数定义。C也可以是颜色字符串量。(如r,y)等。现在举一个绘制散点图的例子,例子如下:subplot(121),load seamount%打开海(底)山数据scatter(x,y,5,z)%绘制散点图subplot(122),x,y,z=sphere(16);%获取球体的坐标X=x(:),Y=y(:),Z=z(:);%矩阵的转换 7/14/202425哈尔滨理工大学机械动力工程学院 蔺勇智制作 参数C定义了每个圆形图标的颜色。当8/14C=floor(abs(Z)*255);S=floor(abs(Z)+1*50);%定义图标大小和颜色与球体的纬度有关scatter3(X,Y,Z,S,C,filled)%绘制三维散点图,填充图标,参数filled表示填充图标。其绘制结果如下图。7/14/202426哈尔滨理工大学机械动力工程学院 蔺勇智制作C=floor(abs(Z)*255);8/14/20232散点图的绘制结果7/14/202427哈尔滨理工大学机械动力工程学院 蔺勇智制作散点图的绘制结果8/14/202327哈尔滨理工大学机械动力6.圆柱体、椭圆体、球体和彩带图函数的特殊三维图的绘制 圆柱体cylinder函数、椭圆体vellipsoid函数、球体sphere函数和彩带图ribbon函数是一些比较特殊的三维绘图函数。现在简单举例如下:程序:subplot(221),t=0:pi/10:2*pi;X,Y,Z=cylinder(2+cos(t);%绘制圆柱体surf(X,Y,Z),axis squaresubplot(222)7/14/202428哈尔滨理工大学机械动力工程学院 蔺勇智制作6.圆柱体、椭圆体、球体和彩带图函数的特殊三维图的绘制8/1x y z=ellipsoid(1,2,3,5,1,10);%椭圆体数据产生view(3),surface(x,y,z)%绘制椭圆,中心为(1,2,3),半径为(5,1,10)subplot(223)sphere,axis equal%绘制球体subplot(224)x,y=meshgrid(-3:.5:3,-3:.1:3);z=peaks(x,y);ribbon(y,z)%绘制彩带图7/14/202429哈尔滨理工大学机械动力工程学院 蔺勇智制作x y z=ellipsoid(1,2,3,5,1,107/14/202430哈尔滨理工大学机械动力工程学院 蔺勇智制作8/14/202330哈尔滨理工大学机械动力工程学院 蔺勇智MATLAB编程绘制曲线 MATLAB也可以运用循环语句来绘制曲线,本节主要介绍如果根据已知数学表达式来运用MATLAB循环语句绘制曲线的方法,现在向大家介绍一个用switch-case语句绘制曲线的例子。例:绘制 的曲线。程序如下:t=0:0.1:18;for x=0.2:0.2:0.8;返回7/14/202431哈尔滨理工大学机械动力工程学院 蔺勇智制作MATLAB编程绘制曲线 MATLAB也可以运b=sqrt(1-x2);z=atan(b/x);y1=-t*x;y2=t*b+z;y=1-exp(y1).*sin(y2)/b;switch round(10*x)%将x圆整成整数case 2plot(t,y,r-),hold on%采用switch结构,根据不同x值,曲线用不同颜色、数据点画出。case 4plot(t,y,b*),hold oncase 6plot(t,y,k.),hold onotherwiseplot(t,y,g+),hold onendxlabel(t(秒),ylabel(y),title(二阶系统阶跃响应)legend(xi=0.2,xi=0.4,xi=0.6,xi=0.8)7/14/202432哈尔滨理工大学机械动力工程学院 蔺勇智制作b=sqrt(1-x2);z=atan(b/x);8/7/14/202433哈尔滨理工大学机械动力工程学院 蔺勇智制作8/14/202333哈尔滨理工大学机械动力工程学院 蔺勇智仿真系统分析图形绘制仿真系统分析图形绘制 在介绍此类曲线的绘制之前,先向大家介绍一些这部分的基本知识。1.传递函数模型:对于一个连续单输入单输出(SISO)的LTI系统,设输入量为Xi(s),输出量为Xo(s)则系统的传递函数G(s)可以表示为 返回7/14/202434哈尔滨理工大学机械动力工程学院 蔺勇智制作仿真系统分析图形绘制 在介绍此类曲线的绘制之前,对应的脉冲传递函数为 在MATLAB中,传递函数描述法是通过传递函数分子和分母关于s降序排列的多项式系数来表示的,并用向量num和den表示:num=b0 b1 bm1 bm den =a0 a1 am1 am7/14/202435哈尔滨理工大学机械动力工程学院 蔺勇智制作对应的脉冲传递函数为8/14/202335哈尔滨理工大学机械 在本节中,主要向大家介绍一下连续系统频率特性的MATLAB函数。所以这里有必要给大家介绍一下如何运用MATLAB对频率响应函数的计算方法。2.频率响应函数的计算 (1)polyval()因为G(jw)的分子、分母均为有理多项式,可用多项式计算指令ployval()计算系统的频率响应,其调用格式为Y=polyval(P,X)7/14/202436哈尔滨理工大学机械动力工程学院 蔺勇智制作 在本节中,主要向大家介绍一下连续系统8/14/【说明】lP是多项式系数向量(降幂排列),X是自变 量(应 设 为jw),Y是返回的计算结果(复数数组)。l对Y利用abs()、angle()即可求出系统的幅频特性和相频特性。7/14/202437哈尔滨理工大学机械动力工程学院 蔺勇智制作【说明】8/14/202337哈尔滨理工大学机械动力工程学院例如:绘制系统 的幅频特性曲线和相频特性曲线。程序如下:num=11 11;den=1 15 4 0;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|)7/14/202438哈尔滨理工大学机械动力工程学院 蔺勇智制作例如:绘制系统 subplot(2,1,2),plot(w,theta)grid,title(相频特性)xlabel(omega(rad/s),ylabel(deg)7/14/202439哈尔滨理工大学机械动力工程学院 蔺勇智制作subplot(2,1,2),plot(w,theta)8/(2)freqs()若已知系统传递函数,还可以用freqs求系统的频率相应。其有以下几种调用格式 h=freqs(b,a,w)指定实式角频率,返回响应值。h,w=freqs(b,a)自动确定200个频率点,返回响应值和对应的角频率向量。h,w=freqs(b,a,f)指定频率(HZ)向量,返回响应值和对应的角频率向量。freqs(b,a,w)绘制对指定正实角频率向量的幅频和相频特性曲线。7/14/202440哈尔滨理工大学机械动力工程学院 蔺勇智制作(2)freqs()若已知系统传递函数,还可以用8/14/【说明】lb,a均为系统传递函数的分子、分母的系数向量。l在返回指令值的指令中,需调用abs()和angle()求取幅频和相频特性。l第四种调用可直接绘制系统的幅频和相频特性曲线,其中幅频特性曲线为全对数坐标,而相频特性曲线为半对数坐标,并且可以不指定频率向量。7/14/202441哈尔滨理工大学机械动力工程学院 蔺勇智制作【说明】8/14/202341哈尔滨理工大学机械动力工程学院例子:用freqs()指令重绘上面例子所示系统的频率特性曲线。程序如下:num=11 11;den=1 15 4 0;w=0.05:0.01:0.5*pi;%产生频率向量freqs(num,den,w)7/14/202442哈尔滨理工大学机械动力工程学院 蔺勇智制作例子:用freqs()指令重绘上面例子所示系统8/14/207/14/202443哈尔滨理工大学机械动力工程学院 蔺勇智制作8/14/202343哈尔滨理工大学机械动力工程学院 蔺勇智若不指定频率向量w,直接执freqs(num,den),结果如下所示。显然该指令能够自动确定系统频率响应何时得频率范围。程序如下:num=11 11;den=1 15 4 0;freqs(num,den)7/14/202444哈尔滨理工大学机械动力工程学院 蔺勇智制作8/14/202344哈尔滨理工大学机械动力工程学院 蔺勇智7/14/202445哈尔滨理工大学机械动力工程学院 蔺勇智制作8/14/202345哈尔滨理工大学机械动力工程学院 蔺勇智请大家指正,谢谢!7/14/202446哈尔滨理工大学机械动力工程学院 蔺勇智制作请大家指正,谢谢!8/14/202346哈尔滨理工MATLAB图形绘制课件MATLAB图形绘制课件
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!