第5章MATLAB图形绘制

合集下载

Get清风MATLAB教程a第5章习题解答张志涌

Get清风MATLAB教程a第5章习题解答张志涌

MATLAB教程2012a第5章习题解答-张志涌第5章 数据和函数的可视化习题5及解答1 椭圆的长、短轴2,4==b a ,用“小红点线〞画椭圆⎩⎨⎧==tb y ta x sin cos 。

〔参见图p5-1〕〖解答〗 clf a=4;b=2;t=0:pi/80:2*pi; x=a*cos(t); y=b*sin(t);plot(x,y,'r.','MarkerSize',15) axis equal xlabel('x') ylabel('y')shg-4-3-2-101234-3-2-1123xy2 根据表达式θρcos 1-=绘制如图p5-2的心脏线。

〔提示:采用极坐标绘线指令polar 〕〖解答〗 clftheta=0:pi/50:2*pi;rho=1-cos(theta);h=polar(theta,rho,'-r');%极坐标绘线指令。

h 是所画线的图柄。

set(h,'LineWidth',4) %利用set 设置h 图形对象的“线宽〞axis square %保证坐标的圆整性0.51 1.523021060240902701203001503301800ρ=1-cos θ3 A,B,C 三个城市上半年每个月的国民生产总值如见表p5.1。

试画出如图p5-3所示的三城市上半年每月生产总值的累计直方图。

表p5.1 各城市生产总值数据〔单位:亿元〕城市 1月 2月 3月 4月 5月 6月 A 170 120 180 200 190 220 B 120 100 110 180 170 180 C 70508010095120〖目的〗● 借助MATLAB 的帮助系统,学习直方图指令polar 的使用。

● bar 指令常用格式之一:bar(x,Y,'style') 。

x 是自变量列向量;Y 是与x 行数相同的矩阵,Y 的每一行被作为“一组〞数据;style 取stacked 时,同一组数据中每个元素对应的直方条被相互层叠。

MATLAB第五章实验报告

MATLAB第五章实验报告

MATLAB第五章实验报告---matlab绘图陈录平工自03-1 030544103一,1,x=0:0.1:100;y=x-(x.*x.*x)/6;>> plot(x,y)2,>> x=0:0.1:200;>> y=exp(-(x.*x)/2)/(2*pi);>> plot(x,y)3,>> x=0:0.1:200;y=sqrt((64-x.*x)/2);>> plot(x,y)4,t=0:0.1*pi:2*pi;x=t.*sin(t);>> y=t.*cos(t);>> plot(x,y)二,t=0:0.01*pi:2*pi;x1=t;x2=sin(3.*t).*cos(t);y2=sin(3.*t).*sin(t);y1=2*x1-0.5;x=[x1;x2]';y=[y1;y2]';k=find(abs(y1-y2)<0.01);xi=x(k);yi=2*x1-0.5;plot(x,y,'k:',xi,yi,'bp')三,x=1:0.01:10;y=sin(1./x);>> plot(x,y)>> fplot('sin(1./x)',[1,10],0.001)四,t=(-pi):0.1*pi:pi;y=1./(1+exp(-t));subplot(2,2,1);bar(t,y,'g');title('bar(t,y,"g")');axis([0,7,-2,2]); subplot(2,2,2);stairs(t,y,'b');title('stairs(t,y,"b")');axis([0,7,-2, 2]);subplot(2,2,3);stem(t,y,'k');title('stem(t,y,"k")');axis([0,7,-2,2]); subplot(2,2,4);fill(t,y,'y');title('fill(t,y,"y")');axis([0,7,-2,2]); 五,1,t=0:pi/10:2*pi;r=5*cos(t)+4;>> polar(t,r,'-*');2,t=pi:pi/10:3*pi;r=12./sqrt(t);>> polar(t,r,'-*');3,t=-pi/3:pi/20:pi/3;>> r=5*sin(t).*sin(t)./cos(t);>> polar(t,r,'-*');4,t=-pi/6:pi/20:pi/6;r=3*sin(t).*cos(t)./(sin(t).*sin(t).*sin(t)+cos(t).*cos(t).*cos(t)); >> polar(t,r,'-*');六,1,t=0:pi/100:2*pi;x=exp(-t/20).*cos(t); y=exp(-t/20).*sin(t);z=t;plot3(x,y,z);title('line in 3-D Space');xlabel('X');ylabel('Y');zlabel('Z');grid on;2,t=0:0.001:1;>> x=t;>> y=t.*t;>> z=t.*t.*t;>> plot3(x,y,z);title('line in 3-D Space');xlabel('X');ylabel('Y');zlabel('Z');grid on;七1,[x,y]=meshgrid(-5:0.01:5);z=5;mesh(x,y,z);axis([-5 5 -5 5 0 5]); 2,[x,y]=meshgrid(-3:0.01:3);z=-5./(1+x.*x+y.*y);mesh(x,y,z);axis([-3 3 -3 3 -5 0]); 八[x,y,z]=sphere(50);m=moviein(30);for i=1:30surf(i*x,i*y,i*z)m(:,i)=getframe;endmovie(m,10);。

第5章MATLAB绘图_习题答案

第5章MATLAB绘图_习题答案

第5章MATLAB绘图习题5一、选择题1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。

DA.12B.7C.4D.32.下列程序的运行结果是()。

Ax=0:pi/100:2*pi;forn=1:2:10plot(n*sin(x),n*cos(x))holdonendaxissquareA.5个同心圆B.5根平行线C.一根正弦曲线和一根余弦曲线D.5根正弦曲线和5根余弦曲线3.命令text(1,1,'{\alpha}+{\beta}')执行后,得到的标注效果是()。

C A.{\alpha}+{\beta}B.αβ}C.α+βD.αβ4.subplot(2,2,3)是指()的子图。

AA.两行两列的左下图B.两行两列的右下图C.两行两列的左上图D.两行两列的右上图x的曲线绘制成直线,应采用的绘图函数是()。

C5.要使函数y=2eA.polarB.semilogxC.semilogyD.loglog6.下列程序的运行结果是()。

B[x,y]=meshgrid(1:5);surf(x,y,5*ones(size(x)));A.z=x+y平面B.与xy平面平行的平面C.与xy平面垂直的平面D.z=5x平面7.下列函数中不能用于隐函数绘图的是()。

DA.ezmeshB.ezsurfC.ezplotD.plot38.下列程序运行后,看到的图形()。

Ct=0:pi/20:2*pi;[x,y]=meshgrid(-8:0.5:8);z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);surf(x,y,z)view(0,90);axisequalA.像墨西哥帽子B.是空心的圆C.边界是正方形D.是实心的圆9.下列程序运行后得到的图形是()。

A[x,y]=meshgrid(-2:2);z=x+y;i=find(abs(x)<1&abs(y)<1);z(i)=NaN;surf(x,y,z);shadinginterpA.在一个正方形的正中心挖掉了一个小的正方形B.在一个正方形的正中心挖掉了一个小的长方形C.在一个正方形的上端挖掉了一个小的正方形D.在一个正方形的下端挖掉了一个小的正方形10.在使用MATLAB“绘图”选项卡中的命令按钮绘图之前,需要()。

第5章matlab绘制二维图形及三维图形的方法

第5章matlab绘制二维图形及三维图形的方法

实验四
专业:电子信息工程2班姓名:李书杰学号:3121003210
一、实验目的
1.掌握绘制二维图形及三维图形的方法。

2.掌握图形控制与修饰处理的方法。

3.了解图像处理及动画制作的基本方法。

二、实验内容
1.绘制下列图形曲线。

(1)y=x-x^3/3! (2)x^2+2Y^2=64
解:程序如下
2.设y=1/(1+e^-t),-pi<=t<=pi,在同一个图形窗口中采用子图的形式绘制条形图、阶梯图、杆图和对数坐标等不同图形,并对不同图形加标注说明。

解:程序如下
3.绘制下列极坐标图。

(1)ρ=5cosθ+4 (2)γ=5sin^2φ/cosφ,-π/3<φ<π/3 解:程序如下
思考练习:
2.绘制下列曲线
(1)y=1/2πe^(-x^2/2) (2)x=tsint y=tcost
解:程序如下
(1)
结果如下:
(2)
结果如下:
3.在同一坐标中绘制下列两条曲线并标注两曲线交叉点。

(1)y=2x-0.5
(2)x=sin(3t)cost
Y=sin(3t)sint
解:程序如下
4.分别用plot和fplot函数绘制y=sin(1/x)的曲线,分析两曲线的差别。

解:程序如下
结果如下:
5.绘制下列极坐标图:
(1)p=12/sqrt(θ) (2)γ=3asinφcosφ/(sin^3φ+cos^3φ)解:程序如下
结果如下:。

MATLAB基础及应用课件(下)第5-8章

MATLAB基础及应用课件(下)第5-8章
图5-4中间的下拉框可以选择拟合算法,可以 试用多种拟合算法,以找出最佳拟合图形。例 如选择Smoothing Spline(平滑样条函数), 观察Curve Fitting Tool窗口,如图5-5所示。
图5-5 拟合曲线
第5章 MATLAB数值计算
第5章 MATLAB数值计算
5.4.4 图形窗口的拟合和统计工具
第5章 MATLAB数值计算
在图5-6中的“绘制拟合图”中选择拟合方 法(可同时选多种);
“显示方程”复核框可以选择是否在图形上 显示拟合多项式;
“绘制残差图”复核框选中时会产生第二幅 图形,该图形显示了每一个数据点与计算出来的 拟合曲线之间的距离。
例如选择“线性”和“三次方”拟合方法, 同时选中两个复核框,产生图形如图5-7所示。
MATLAB的图形窗口中提供了简单方便的数 据拟合和基本统计工具。
数据拟合工具可以对所绘制的曲线使用多种 方法进行拟合;
基本统计工具可提供最小值、最大值、平均 值、中位值、标准差、数据范围等统计运算。
1.数据拟合工具
第5章 MATLAB数值计算
使用数据拟合工具首先需要创建一幅图形,在 命令行窗口输入以下程序:
两个矩阵x和y的相关系 数
第5章 MATLAB数值计算
5.2 数值运算 一、 多项式
名称
创建多项 式
求根
求值
多项式乘 法
多项式除 法
多项式求 导
函数格式 P=[ a0 a1 a2 …an-1
an] P=poly(A) roots(P) polyval(P,A)
polyvalm(P,m)
说明
P为多项式(以下各函数中P均为多项式),a0 a1 a2 … an-1 an为按降幂顺序排列的多项式系数 A为向量。创建以向量A中元素为根的多项式

自动控制原理的MATLAB仿真与实践第5章 线性系统的频域分析

自动控制原理的MATLAB仿真与实践第5章  线性系统的频域分析
MATLAB提供了许多用于线性系统频率分析 的函数命令,可用于系统频域的响应曲线、参数分析 和系统设计等。常用的频率特性函数命令格式及其功 能见表5-1。 bode (G):绘制传递函数的伯德图。其中:G为传递
函数模型,如:tf(), zpk(), ss()。 bode(num,den):num,den分别为传递函数的分子与
margin(G);[Gm,Pm,Wcg,Wcp]= margin(G): 直接求出系统G的幅值裕度和相角裕度。 其中:Gm幅值裕度;Pm相位裕度;Wcg幅值裕度 处对应的频率ωc;Wcp相位裕度处对应的频率ωg。
nichols(G);nichols(G,w):绘制单位反馈系统开环传 递尼科尔斯曲线。
20
>>clear; num=[2, 3];den=[1, 2, 5, 7]; %G(s)的分子分母 多项式系数向量
p=roots(den) 求根结果:
%求系统的极点
p=
-0.1981 + 2.0797i
-0.1981 - 2.0797i
-1.6038 可见全为负根,则s右半平面极点数P=0。 绘制Nyquist曲线: >> nyquist(num,den) %绘制Nyquist曲线
本节分别介绍利用MATLAB进行频域绘图和频 率分析的基本方法。
6
5.2.1 Nyquist曲线和Bode图
MATLAB频率特性包括幅频特性和相频特性。 当用极坐标图描述系统的幅相频特性时,通常称为 奈奎斯特(Nyquist)曲线;用半对数坐标描述系 统的幅频特性和相频特性时,称为伯德(Bode) 图;在对数幅值-相角坐标系上绘制等闭环参数( M和N)轨迹图,称为尼克尔斯(Nichols)图。

第5章 Matlab图形用户界面(GUI)编程

第5章 Matlab图形用户界面(GUI)编程

figure figure
figure figure axes axes axes
补片patch
矩形rectangle 曲面surface 文本text
axes
axes axes axes
创建有边界的填充多边形
从椭圆到矩形变化的二维形状 将数据作为x-y平面高度创建的三维矩阵数据描述 字符串,它的位置由其父对象来指定
BusyAction
ButtonDownFcn
Children
Clipping CreateFcn DeleteFcn
保存对象的所有子对象句柄的向量
图形对象显示模式。’on’(缺省值):只显示在坐标轴界限内的部分图形对象; ’off’:同时显示坐标轴界限内外的部分 创建图形对象时执行的回调函数,常用缺省值 用户销毁图形对象时执行的回调函数
三、 图形对象的属性
图形对象的属性可以控制对象的外观和行为等许多方面的
性质。 对象的属性既包括对象的一般信息,例如对象的类型、父 对象和子对象等;又包括对象的特定的、独一无二的信息,例 如figure对象中对鼠标控制的WindowButtonDownFcn、 WindowButtonMotionFcn等属性。 MATLAB将图形对象的信息组织成一个层次表,并将这些信 息储存在该对象的属性中。例如,root属性表包括当前图形窗 口的句柄和当前的指针位置;figure属性表包括其子对象的列 表并始终跟踪窗口中发生的特定事件,等等。
HandleVisibility
控制对象句柄的访问方式。 ‘on’:(缺省值),总是可以访问; ‘callback’:只有回调函数或者调用回调函数的函数可以访问,这样可以防止用户从命 令行中对图形对象进行修改,以防止误操作; ‘off’:不可访问。

MATLAB应用第五章-MATLAB图形和3D可视化

MATLAB应用第五章-MATLAB图形和3D可视化
”Plot_eg02”
th=[0:pi/50:3*pi]'; a=[0.5:0.5:5.5] Y=cos(th)*a; X=sin(th)*sqrt(25-a.^2); plot(X,Y) axis('equal') xlabel('X') ylabel('Y') title('a group of Ellipse lines')
F5运行结果如图 Eg 5-5
若没有axis(‘equal’)则显示如下: equal 将x和y轴的坐标进行比例协调,使其显 示相等。
5.2.2 线型、顶点标记和颜色
色彩(c) 说明 数据点(m) r g b c m y k w 红色 绿色 蓝色 青色 洋红 黄色 黑色 白色 + O * . x s d ^ v > < p h 说明 加号 圆圈 星号 点 十字 矩形 菱形 上三角 下三角 右三角 左三角 五边形 六边形 Eg 5-6 线型( ) 线型(l) -: -. 说明 实线 虚线 点线 点划 线
Eg 5-11 pie(x):对所有向量x中的元素进行总计,显示每一部 分所占比例 pie(x,explode):定义一个与x同长度向量explode,对 应于非零元素的x值被抽出显示 pie(…,labels):标注扇形图,labels必须与前面向量具 有相同长度
Eg 5-12
在命令窗口输入下列命令” 在命令窗口输入下列命令” >> x=1:12; >> y=[-12 -6 4 11 23 26 36 30 21 17 10 3]; >> bar(x,y) >> xlabel('month'),ylabel('tempereature'); >> title('relationship')
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6




例5-1 图形的基本绘制 x=0:0.1:2*pi; plot(x,sin(x)) hold on plot(x,cos(x),'ro') title('y1=sin(x),y2=cos(x)') %添加标题 xlabel('x') %添加横坐标名 legend('sin(x)','cos(x)',4) %在右下角添加图例图4.10 添加图形标注 text(pi,sin(pi),'x=pi') %在pi,sin(pi)处添加文字注释
polar()函数用来绘制极坐标图 语法规则: polar(极角, 极径,’选项’) 例如: t=0:0.1:8*pi; r=2*sin(t/2); polar(t,r,'r'); title('双心脏线');

5.2.5fplot()函数
前面介绍了这些函数,思路都是先取足够稠密的 自变量向量x,然后计算函数值向量y,最后绘出 函数图。在取数据点时一般都是等间隔采样,因 此绘制高频率变化的函数不够精确。为了提高精 度,绘制出比较真实的函数曲线,通常采用精度 绘制fplot()函数,该函数自适应地对函数进行采 样,更好的反应函数的变化规律。 语法规则:
5
⑤用名称、图例、坐标名、文本等对图形进行注 释,常用典型指令如下。 xlabel('x') ylabel('y') title('图1') text(x,y,'y=f(x)') legend(‘s’,pos) %在指定位置建立图例 s 其中,pos是图例在图上位置的指定符,取值为0,1 ,2,3,4,-1分别表示自动取最佳位置,右上角( 默认),左上角,左下角,右下角,图右侧添加图例 ⑥打印输出图形,常用典型指令如下。 print–dps2
在上述步骤中,(1)、(3)是最基本、最常用 的绘图步骤。一般情况下,由这两步所画出的图 形已经比较完整,至于其他步骤,并不是必需的。 步骤(2)一般在图形较多的情况下使用,比如要把 几个图放到一起进行比较,此时可根据所作图形 的个数对subplot(m, n, k)指令中的m、n进行赋 值。步骤(4)、(5)的前后次序可按照指令的常用 程度和复杂程度编排,用户可根据自己的需要改 变前后次序。
x=[0:1:6]'; y= [sin(x),cos(x)]; plot(x,y)
3)自变量x和y为同维矩阵
绘制以它们的对应列为横、纵坐标的多条曲线 例如: t=linspace(0,2*pi,100); x=[t;t]; y=[sin(t);cos(t)]; plot(x,y)
5.2.1 plot()函数
语法规则: 1.plot(y) %绘制以y为纵坐标的二维曲线 2.plot(x,y) %绘制以x为横坐标y为纵坐标的二维曲线 3.plot(x1,y1,x2,y2,...,xn,yn) %绘制多个二维图形曲线 4.plot(x1,y1,’选项’,x2,y2,’选项’,...xn,yn,’选项 ’) 选项:包括线型、颜色和标记符号等,见表一 其中自变量x和y既可以是向量也可以是数组
>>x1=0:pi/100:2*pi;x2=0:pi/100:2*pi; y1=exp(-0.5*x1).*sin(2*pi*x1); y2=1.5*exp(-0.2*x2).*sin(x2); plotyy(x1,y1,x2,y2)
5.2.3stem()函数
stem(x,y)函数图形的形状为针状图,与plot的语法 规则一样,x表示横坐标,y表示纵坐标,不同的是plot 函数绘制的是连续函数,而stem函数实现的是离散序 列的绘制。 语法规则: 1)stem(y):以x=1,2,...为各点数据的x坐标以向量y的各 个对应元素为y坐标,在(x,y)坐标面画一个空心小圆圈 2)stem(x,y):以x向量的各个元素为x坐标,以y向量的 各个对应元素为y坐标,在(x,y)坐标面画一个空心小圆 圈,若画实心圆圈可以在选项处添加相应的参数filled 进行离散点的填充,最后将每个离散点都连接一条线段 到x轴。
第5讲 MATLAB图形绘制
1
本章学习目标
熟练掌握MATLAB图形绘制的基本步骤和基
本绘图命令 熟悉绘图过程中曲线颜色、线型、数据点型 的设置方法 熟练掌握典型二维图形的绘制及标注方法 掌握常见三维图形的基本绘制方法
2
主要内容

5.1 MATLAB图形绘制基础 5.2 二维图形的绘制 5.3 三维图形的绘制

例5-3 以参数方程形式的二维曲线绘制 绘制曲线:
x t cos(3t ) 2 y t sin t

t
>>t=-pi:pi/100:pi; x=t.*cos(3*t); y=t.*(sin(t)).^2 %y=t.*sin(t).*sin(t); plot(x,y)

5.2.2双纵坐标函数plotyy


为了有利于对图形数据进行对比分析,引入了 plotyy函数。 语法规则: plotyy(x1,y1,x2,y2):与plot不同的是,它具有 不同的纵坐标。

例5-5用不同标度在同一坐标内绘制曲线 y1 e 0.5 x sin(2 x )
y 2 1.5e 0.2 x sin x


例5-6 (P38例1-38)产生一个幅度为2、频率为4Hz 、相位为 / 6 的正弦信号。 补充知识: 正弦信号:x(t ) A cos(t ) a cos(t ) b sin(t ) 为初相。 其中A为振幅, 为震荡角频率,rad/s, 2 f ,f为频率,Hz。 >>A=2,f=4; phi=pi/6; omega=2*pi*f n=0:0.01:1; x=A*cos(omega*n+phi) plot(n,x); grid on

表一 线型、颜色和标识符号
线型 : -. -实线 虚线 点画线 双画线 b g r y k w 颜色 蓝色 绿色 红色 黄色 黑色 白色 . o x + * s 标识符号 点 圆圈 叉号 加号 星号 方块符
m
c
品红色
青色
v 朝下三角符号
^ 朝上三角符号
1.plot(y)



功能: (1)若y为向量,其元素为实数,则绘制以其下 标为横坐标、以y为纵坐标的图形,即相当于 plot(1:length(y),y)。 例如: x=0:1:6; y=x.^2+1; plot(y)






t=0:pi/50:4*pi; y0=exp(-t/3); y=exp(-t/3).*sin(3*t); t1=0:pi/3:4*pi y1=exp(-t1/3).*sin(3*t1) plot(t,y,'r-',t,y0,'b:',t,-y0,'b:',t1,y1,'b*') title(‘衰减震荡曲线’) xlabel('t') ylabel('y') text(3*pi/2, 0.2079,‘包络线’); text(pi,1.2893e-016,‘曲线') text(0,0,‘离散数据点') legend(‘曲线’,‘包络线’,‘包络线’,‘离散数据点')
>>A=2 phi=pi/6; OMEGA=pi/6; n=-10:10; x=A*cos(OMEGA*n+phi) stem(n,x,’filled’); grid on

振幅为2、数字角频率为 / 6 rad、相位为 / 6 的正弦序列Biblioteka 5.2.4 polar()函数
3
5.1 MATLAB图形绘制基础
MATLAB图形绘制的基本步骤
在MATLAB中,一般按照下述的几个步骤绘制图 形。 ①准备需绘制的数据或函数,常用典型指令如下。
x1=0:0.1:10; x2=linspace(0,2*pi,100); x3=(0:10:360)*pi/100; y1=exp(x1); y2=sin(x2); y3=cos(x3);
二维图形的处理
1.图形标注 在绘制图形时,对图形加上一些说明,比如图 形标题,坐标轴说明以及否些部分的含义等等。 另外文字在图形中显示包括: 用坐标轴确定文字位置:调用text()函数 用鼠标确定文字位置:调用gtext()函数 2.图形窗口的分割:调用subplot()函数
例5-8给(P38 1-37)添加图形标注
fplot(文件名,x和y的取值范围,相对允许误差,选项)




例如用fplot函数绘制’ f ( x) cos(tan( x)) 第一步: 建立myf.m文件(方法和课本36页一样) function y=myf(x) y=cos(tan(pi*x)) 第二步: 用fplot函数绘制myf.m函数的曲线; >>fplot('myf',[-0.4,1.4],1e-4) 或者直接在命令窗口输入: >>fplot(‘cos(tan(pi*x)’,[-0.4,1.4],1e-4)
3.含多个输入参数与选项的plot函数
例5-4(P38 例1-37) t t 3 3 sin 3t,其包络线为 y0 e , 画出衰减震荡曲线 y e t的取值范围是 0 x 4 >>t=0:pi/50:4*pi; y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'r-',t,y0,'b:',t,-y0,'b:')
相关文档
最新文档