实验四 MATLAB 二维绘图的基本操作
- 格式:doc
- 大小:155.50 KB
- 文档页数:7
2014秋2012级《MATLAB 程序设计》实验报告一、实验目的:1、掌握MATLAB 二维图形绘制命令及其图形控制;2、熟悉MATLAB 三维图形绘制命令及其图形控制;3、熟悉特殊二维图形、三维图形的绘制方法。
二、实验内容:1、在同一坐标系下绘制下面三个函数在[0,40]t ∈的图象,要求三种曲线采用不同颜色以及不同的线型,同时对每条曲线利用函数进行标注,并添加图例。
120.134sin()t y t y y e t π-===2、编写程序,选择合适的步距,绘制下面函数在区间[-6,6]中的图象,并对分段的曲线进行标注,同时添加x 轴和y 轴的说明。
sin ,0(),036,3x x y x x x x x ≤⎧⎪=<≤⎨⎪-+>⎩3、利用subplot 函数在同一绘图窗口中用不同颜色和线型绘制以下两个函数在t ∈[-2π,2π]范围内的图象。
0.50.21222t t y y e -==4、某学校有30位教师,其中教授5人,副教授8人,讲师12人,助教5人.试画出职称比例结构饼图,并强调图形的教授部分同时添加标注。
5、生成1×10维的随机数向量a ,分别用红、黄、蓝、绿色绘出其连线图、脉冲图、阶梯图和条形图,并分别标出标题“连线图”、“脉冲图”、“阶梯图”、“条形图”。
6、使用subplot 函数,把图形窗口分成两个部分,分别绘制sin2t 和3cos3t 曲线,t 范围:0-5.要求前者用红色实线,数据点形状为五角星,有网格线,x 轴加标注“x ”,y 轴加标注“y=sin2t ”,加题目“y=sin2t 的曲线”;后者用蓝色虚线,数据点形状为圆形,无网格线,x 轴加标注“x ”,y 轴加标注“y=3cos3t ”,加题目“y=3cos3t 的曲线”;7、绘制下列三维曲线:(1)/20/20cos sin ,02t t x e ty e t t z t π--⎧=⎪=≤≤⎨⎪=⎩ (2) 23,01x t y t t z t =⎧⎪=≤≤⎨⎪=⎩8、绘制下列曲面图,并调整三维图的视角、背景色、着色以及透视效果。
实验四和实验五:MATLAB 中的绘图开课学院及实验室: 实验时间 : 年 月 日一、实验目的1、掌握基本的绘图指令。
2、学习如何绘制二维图形和进行图形修饰。
3、掌握三维图形的绘制。
4、掌握各种特殊图形的绘制。
二、实验原理1、普通图形的绘制:2维图形的基本函数为plot 函数,其基本格式为:plot(x,y,‘选项’),选项包括线型、颜色等设置。
2、图形窗口的分割:用函数subplot(m,n,i)来实现。
含义是将图形窗口分为m 行n 列子窗口,然后选定第i 个窗口为当前窗口。
3、坐标系的调整:可用函数axis([xmin,xmax,ymin,ymax,zmin,zmax])来完成。
4、图形的标注:为坐标轴标注用函数xlabel(‘string’,文本属性);为图形加标题用函数title(‘string’,文本属性);在图形窗口的任意位置加入标注用函数text(x,y, ‘string’)5、3维图形的基本函数为plot3函数,用法和plot 函数相同。
6、绘制特殊图形:绘制极坐标图形用函数polar(角度向量,幅值向量,选项);条形图用函数bar(x,y);扇形图用pie(x)函数。
三、实验设备、仪器及材料高性能计算机,MATLAB 软件。
四、实验步骤(按照实际操作过程)1、用不同线型和颜色同一坐标内绘制曲线-0.5xy1=esin(2x)π及曲线-0.1x y2=1.5e sin(x) ,其中,0≤X≤2π。
再分别为这两条曲线添加网格线,再用axis 改变横坐标和纵坐标的范围重新画一次。
2、同一坐标内绘制曲线y1=sin(10x)及曲线y2=sin(x)sin(10x),要求: (1)y1曲线为红色点划线;(2)y2曲线为蓝色虚线圆圈;(3)分别为这两条曲线在右下角添加图例“sin10x”、“sinxsin10x”; (4)分别添加横坐标和纵坐标名称为“x”、“y”; (5)添加图名为“正弦曲线”; (6)分别给两条曲线添加一些文字注释。
实验 6 二维绘图一 实验目的学习MATLAB 软件中二维绘图的方法二 实验内容与要求 1) 基本命令 格式1:plot(X,Y)说明:以X,Y 的对应元素为坐标绘二维图, 注意,X,Y 的维数要匹配. [例 1.48]>>x=0:pi/18:2*pi; %给出横坐标 >>y=()sin x ; %计算出纵坐标>>plot(x,y) %绘制图形,如图1.1所示。
问题 1.22:当X=[1,5,3,7;3,6,8,4;9,6,1,5],Y=[2,5,7,4;6,8,4,1;8,0,4,2]时,命令plot(X,Y)画出几条线,如何画出的?当X=[1,5,3,7],Y=[2,5,7,4;6,8,4,1;8,0,4,2]时,有何规律?当X=[1,5,3],Y=[2,5,7,4;6,8,4,1;8,0,4,2]时,又有何规律?格式2:plot(Y) %若Y 为m 维向量,则等价于plot(X ,Y),其中,X=1:m 。
格式3:plot(1X ,1Y ,1LineSpec ,2X ,2Y ,2LineSpec ,…)%将按顺序分别画出由3个参数定义i X ,i Y ,i LineSpec 的线条,其中,参数i LineSpec 指明了线条的类型,标记符号,和画线用的颜色. 说明:1 线型,有实线,划线,虚线,点划线,例如:’-’就表示画实线.2 线条宽度LineWidth ,取值为整数,例如,‘LineWidth ’,2就表示线宽为两个像素。
3 线条颜色,常用8种颜色,例如:‘b--’就表示蓝色划线。
4 标记类型,表示数据点标记的类型,常用13种,例如:‘*r ’就表示红色星号。
5 标记大小MarkerSize 指定标记符号的大小尺寸,取值为整数(单位为像素)。
6 标记面填充颜色‘MarkerFaceColor ’指定用于填充标记符面的颜色,颜色配比方案见表1.10,例如:‘MarkerFaceColor ’,[0,1,0]就表示标记面填绿色。
西安邮电大学《Matlab程序设计基础》课内实验报告题目:实验四MATLAB的绘图院系名称:计算机学院专业名称:计算机科学与技术班级:计科1502班内序号:05141107(29)学生姓名:赵阳指导教师:张老师实验四MATLAB的绘图一、实验目的:掌握基本的绘图函数plot。
二、实验内容:1、在同一坐标系下绘制下面三个函数在[0,4pi]的图象。
代码如下:t=0:pi/100:4*pi;y1=t;y2=sqrt(t);y3=4*pi*exp(-0.1*t).*sin(t);plot(t,y1,t,y2,t,y3)2、编写程序,选择合适的步距,绘制下面函数在区间[-6,6]中的图象。
代码如下:x=linspace(-6,6,100);y=[];for x0=xif x0<=0y=[y,sin(x0)];elseif x0<=3y=[y,x0];elsey=[y,-x0+6];endendplot(x,y)3、用compass函数画下面相量图ua=1;ub=cos(-2*pi/3)+sin(-2*pi/3)*i;uc=cos(2*pi/3)+sin(2*pi/3)*i;compass([ua,ub,uc,ua-ub,ub-uc,uc-ua])代码如下:ua=1;ub=cos(-2*pi/3)+sin(-2*pi/3)*i;uc=cos(2*pi/3)+sin(2*pi/3)*i;compass([ua,ub,uc,ua-ub,ub-uc,uc-ua])4、三维空间曲线绘制z=0:0.1:4*pi;x=cos(z);y=sin(z);plot3(x,y,z)代码如下:z=0:0.1:4*pi;x=cos(z);y=sin(z);plot3(x,y,z)5、用mesh或surf函数,绘制下面方程所表示的三维空间曲面,x和y的取值范围设为[-3,3]。
代码如下:[x,y]=meshgrid(-3:0.5:3);z=-x^2/10+y^2/10;mesh(x,y,z)三、思考题在同一坐标系下,用不同颜色和线型绘制以下两个函数在tÎ[-2p,2p]范围内的图象。
命令1 grid功能给二维或三维图形的坐标面增加分隔线。
该命令会对当前坐标轴的Xgrid,Ygrid,Zgrid的属性有影响。
用法grid on 给当前的坐标轴增加分隔线。
grid off 从当前的坐标轴中去掉分隔线。
grid 转换分隔线的显示与否的状态。
grid(axes_handle,on|off) 对指定的坐标轴axes_handle是否显示分隔线。
命令2 gtext功能在当前二维图形中用鼠标放置文字。
当光标进入图形窗口时,会变成一个大十字,表明系统正等待用户的动作。
用法gtext('string') 当光标位于一个图形窗口内时,等待用户单击鼠标或键盘。
若按下鼠标或键盘,则在光标的位置放置给定的文字“string”h = gtext('string') 当用户在鼠标指定的位置放置文字“string”后,返回一个text图形对象句柄给h。
命令3 legend功能在图形上添加图例。
该命令对有多种图形对象类型(线条图,条形图,饼形图等)的窗口中显示一个图例。
对于每一线条,图例会在用户给定的文字标签旁显示线条的线型,标记符号和颜色等。
当所画的是区域(patch或surface对象)时,图例会在文字旁显示表面颜色。
Matlab在一个坐标轴中仅仅显示一个图例。
图例的位置有几个因素决定,像遮挡的对象等,用户可以用鼠标拖动图例到恰当的位置,双击标签可以进入标签编辑状态。
用法legend('string1','string2',…) 用指定的文字string在当前坐标轴中对所给数据的每一部分显示一个图例。
legend(h,'string1','string2',…) 用指定的文字string在一个包含于句柄向量h中的图形显示图例。
用给定的数据对相应的图形对象加上图例。
legend(string_matrix) 用字符矩阵参量string-_matrix的每一行字符串作为标签。
第2章 MATLAB二维绘图22.1 二维绘图基本流程22.2 二维图形的基本绘图命令42.2.1 高级绘图命令42.2.2低级绘图命令62.2 二维图形的修饰82.2.1 坐标轴的调整82.2.1.1 调整坐标轴的围82.2.1.2 调整坐标轴的状态92.2.1.3 保存坐标轴的围112.2.1.4 保存坐标轴的状态112.2.2画出或取消网格线122.2.3设置坐标轴的名称122.2.4设置图形标题132.2.5在图形中显示文字142.2.5.1用坐标轴确定文字位置142.2.5.2用鼠标确定位置显示文字152.2.6 图形的标定和颜色条162.2.7 使用绘图工具栏标注图形182.3 填充图形的绘制192.4 多坐标系绘图与图形窗口的分割202.4.1 图形叠印法202.4.2 子图的绘制212.5 特殊坐标图形的绘制222.5.1 绘制极坐标图形232.5.2对数/半对数坐标系绘图232.6 特殊二维图形的绘制242.4.3 直方图242.4.1 柱状图和面积图262.4.2 饼图282.4.4 离散数据绘图282.4.5 等高线图302.4.6 向量图312.7 函数绘图342.7.1 fplot函数342.7.2函数function的定义352.8 工作空间直接绘图362.9 手工绘图方式382.10 小结41第2章 MATLAB二维绘图数据可视化是MATLAB一项重要功能,它所提供的丰富绘图功能,使得从繁琐的绘图细节中脱离出来,而能够专心于最关心的本质。
通过数据可视化的方法,工程科研人员可以对自己的样本数据的分布、趋势特性有一个直观的了解。
本章将重点介绍MATLAB二维图形的绘制方式,并按照完整的步骤来说明一个图形产生的流程,以便将数据以图形形式来识别。
通过本章,读者不仅能掌握二维绘图的基本流程,而且能熟练使用MATLAB中相应的绘图命令、函数来绘制二维图形。
2.1 二维绘图基本流程在MATLAB中绘制图形,通常采用以下7个步骤:(1)准备数据;(2)设置当前绘图区;(3)绘制图形;(4)设置图形中曲线和标记点格式;(5)设置坐标轴和网格线属性;(6)标注图形;(7)保存和导出图形。
实验四 MATLAB 二维绘图的基本操作一、实验目的通过图形可以从一堆杂乱的数据中观察数据间的内在关系,感受由图形所传递的内在本质。
本实验主要练习并掌握二维曲线绘图的基本操作。
Time(seconds)M a k e s p a n二、实验内容在了解了 MATLAB 的矩阵和向量概念与输入方法之后,MA TLAB 的二维绘图就再简单不过了。
假设有两个同长度的向量 x 和 y, 则用 plot(x,y) 就可以自动绘制画出二维图来。
如果打开过图形窗口,则在最近打开的图形窗口上绘制此图,如果未打开窗口,则开一个新的窗口绘图。
〖例〗正弦曲线绘制,在命令窗口依次输入如下指令:>> t=0:.1:2*pi; %生成横坐标向量,使其为 0,0.1,0.2,...,6.2>> y=sin(t); % 计算正弦向量>> plot(t,y) %绘制图形这样立即可以得出如下图所示的二维图:10.80.60.40.2-0.2-0.4-0.6-0.8-1plot 函数还可以同时绘制出多条曲线,其调用格式和前面不完全一致,但也好理解。
在命令窗口接着输入:>> y1=cos(t);>>plot(t,[y; y1]), 即输出为两个行向量组成的矩阵。
所得图形如下:10.80.60.40.2-0.2-0.4-0.6-0.8-1★plot 的基本调用格式:plot(x1,y1,选项1, x2,y2, 选项2, x3,y3, 选项3, ...),其中所有的选项如表4.1 所示。
一些选项可以连用,如'-r' 表示红色实线。
练习:>> plot(x,y,'--')>> plot(x,y,'b')>> plot(x,y,'r')>> plot(x,y,'o')由MA TLAB 绘制的二维图形可以由下面的一些命令简单地修饰。
如grid ——加网格线xlabel('字符串') ——给横坐标轴加说明ylabel('字符串') ——给纵坐标轴加说明,并自动旋转90 度title('字符串') ——给整个图形加标题axis([xmin xmax ymin ymax])——手动地设置x,y 坐标轴范围plotyy 函数——绘制具有两个纵坐标刻度的图形坐标系的分割在MA TLAB 图形绘制中是很有特色的,比较规则的分割方式是用subplot函数定义的,其标准调用格式为:subplot(n,m,k),其中,n 和m 为将图形窗口分成的行数和列数,而k 为相对的编号。
例如在标准的Bode 图绘制中需要将窗口分为上下两个部分(即n=2, m=1), 分割后上部编号为1,下部编号为2。
【例1】离散数据和离散函数的可视化——用图形表示离散函数y = 1/|n -6|>>n=(0:12)';y=1./abs(n-6);plot(n,y,'r*','MarkerSize',10)grid onWarning: Divide by zero.【例2】连续函数的可视化——用图形表示连续调制波形y = sin(t)sin(9t)。
t1=(0:11)/11*pi;y1=sin(t1).*sin(9*t1);t2=(0:100)/100*pi;y2=sin(t2).*sin(9*t2);subplot(2,2,1),plot(t1,y1,'r.'),axis([0,pi,-1,1]),title('子图(1)')subplot(2,2,2),plot(t2,y2,'r.'),axis([0,pi,-1,1]),title('子图(2)')subplot(2,2,3),plot(t1,y1,t1,y1,'r.')axis([0,pi,-1,1]),title('子图(3)')subplot(2,2,4),plot(t2,y2)axis([0,pi,-1,1]),title('子图(4)')子图 (1)子图 (3)子图 (4)【例3】二维曲线绘图基本指令演示。
请在练习完本例后,再试验plot(t), plot(Y), plot(Y,t) ,以观察产生图形的不同。
t=(0:pi/50:2*pi)';k=0.4:0.1:1;Y=cos(t)*k;plot(t,Y)Time(s)V a l u e子图 (1)子图 (3)【例 4】用图形表示连续调制波形 y = sin(t)sin(9t) 及其包络线。
t=(0:pi/100:pi)';32y1=sin(t)*[1,-1];y2=sin(t).*sin(9*t);t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);plot(t,y1,'r:',t,y2,'b',t3,y3,'bo')axis([0,pi,-1,1])-1-0.50.51子图 (1)-1-0.50.51-1-0.50.51子图 (3)-1-0.50.51【例5】采用模型画一组椭圆。
th = [0:pi/50:2*pi]';a = [0.5:.5:4.5];X = cos(th)*a;Y = sin(th)*sqrt(25-a.^2);plot(X,Y)axis('equal')xlabel('x'), ylabel('y')title('A set of Ellipses')-1-0.50.51-1-0.50.51-1-0.50.51xyA set of Ellipses【例6】观察各种轴控制指令的影响。
演示采用长轴为 3.25,短轴为1.15 的椭圆。
注意:采用多子图表现时,图形形状不仅受“控制指令”影响,而且受整个图面“宽高比”及“子图数目”的影响。
本书这样处理,是出于篇幅考虑。
读者欲想准确体会控制指令的影响,请在全图状态下进行观察。
t=0:2*pi/99:2*pi;x=1.15*cos(t);y=3.25*sin(t);subplot(2,3,1),plot(x,y),axis normal,grid on,title('Normal and Grid on')subplot(2,3,2),plot(x,y),axis equal,grid on,title('Equal')subplot(2,3,3),plot(x,y),axis square,grid on,title('Square')subplot(2,3,4),plot(x,y),axis image,box off,title('Image and Box off')subplot(2,3,5),plot(x,y),axis image fill,box offtitle('Image and Fill')subplot(2,3,6),plot(x,y),axis tight,box off,title('Tight')Normal and Grid onEqual SquareImage and Box offImage and FillTight【例 7】图形标识——本例非常简单,专供试验标识用。
读者在命令窗口中反复调用这两条指令就可以检查自己对指令、标识的理解是否正确。
当然每次试验时,第二条指令中的字符串应按读者的需要改变。
clf;t=0:pi/50:2*pi;y=sin(t);plot(t,y);axis([0,2*pi,-1.2,1.2])text(pi/2,1,'\fontsize{16}\leftarrow\itsin(t)\fontname{隶书}极大值')【例 8】通过绘制二阶系统阶跃响应,综合演示图形标识。
本例比较综合,涉及的指令较广。
请读者耐心读、实际做、再看例后说明,定会有匪浅收益。
clf;t=6*pi*(0:100)/100;y=1-exp(-0.3*t).*cos(0.7*t);tt=t(find(abs(y-1)>0.05));ts=max(tt);plot(t,y,'r-','LineWidth',3)axis([-inf,6*pi,0.6,inf])set(gca,'Xtick',[2*pi,4*pi,6*pi],'Ytick',[0.95,1,1.05,max(y)])grid ontitle('\it y = 1 - e^{ -\alphat}cos{\omegat}')text(13.5,1.2,'\fontsize{12}{\alpha}=0.3')text(13.5,1.1,'\fontsize{12}{\omega}=0.7')hold on;plot(ts,0.95,'bo','MarkerSize',10);hold offcell_string{1}='\fontsize{12}\uparrow';cell_string{2}='\fontsize{16} \fontname{隶书}镇定时间'; cell_string{3}='\fontsize{6} ';cell_string{4}=['\fontsize{14}\rmt_{s} = ' num2str(ts)]; text(ts,0.85,cell_string)xlabel('\fontsize{14} \bft \rightarrow')ylabel('\fontsize{14} \bfy \rightarrow')-αt t →y →【例 9】多子图——演示 subplot 指令对图形窗的分割。
clf;t=(pi*(0:1000)/1000)';y1=sin(t);y2=sin(10*t);y12=sin(t).*sin(10*t);subplot(2,2,1),plot(t,y1);axis([0,pi,-1,1])subplot(2,2,2),plot(t,y2);axis([0,pi,-1,1])subplot('position',[0.2,0.05,0.6,0.45])plot(t,y12,'b-',t,[y1,-y1],'r:');axis([0,pi,-1,1])。