实验二MATLAB绘制图形
- 格式:ppt
- 大小:1.29 MB
- 文档页数:7
实验一 MATLAB入门(1)1.实验目的:(1)了解MATLAB的体系结构与特点,熟悉其集成开发环境。
(2)熟悉MATLAB界面窗口的功能和使用方法。
(3)熟悉MATLAB的帮助系统及使用方法。
(4)了解MATLAB的的数据类型、基本形式和数组的产生方法。
(5)掌握MATLAB基本的数学运算操作。
2.实验原理(1)MATLAB简介MATLAB是美国MathWorks公司开发的高性能的科学与工程计算软件。
它在数值计算、自动控制、信号处理、神经网络、优化计算、小波分析、图像处理等领域有着广泛的用途。
近年来, MATLAB在国内高等院校、科研院所的应用逐渐普及,成为广大科研、工程技术人员必备的工具之一。
MATLAB具有矩阵和数组运算方便、编程效率极高、易学易用、可扩充性强和移植性好等优点,俗称为“草稿纸式的科学计算语言”。
它把工程技术人员从繁琐的程序代码编写工作中解放出来,可以快速地验证自己的模型和算法。
经过几十年的扩充和完善,MATLAB已经发展成为集科学计算、可视化和编程于一体的高性能的科学计算语言和软件开发环境,整套软件由MATLAB开发环境、MATLAB语言、MATLAB数学函数库、MATLAB图形处理系统和MATLAB应用程序接口(API)等五大部分组成。
MATLAB的主要特点包括强大的计算能力(尤其是矩阵计算能力)、方便的绘图功能及仿真能力、极高的编程效率。
另外,MATLAB还附带了大量的专用工具箱,用于解决各种特定领域的问题。
通过学习软件的基本操作及其编程方法,体会和逐步掌握它在矩阵运算、信号处理等方面的功能及其具体应用。
通过本课程实验的学习,要求学生初步掌握MATLAB的使用方法,初步掌握M文件的编写和运行方法,初步将MATLAB运用于数字信号处理中。
循序渐进地培养学生运用所学知识分析和解决问题的能力。
(2)MATLAB的工作界面(Desktop)与操作MATLAB 安装成功后,第一次启动时,主界面如下图(不同版本可能有差异)所示:其中① 是命令窗口(Command Window ),是MATLAB 的主窗口,默认位于MATLAB界面的右侧,用于输入命令、运行命令并显示运行结果。
实验二MATLAB绘图一、实验目的1 掌握绘制二维图形的常用函数。
2 掌握绘制三维图形的常用函数。
3 熟悉利用图形对象进行绘图操作的方法。
4 掌握绘制图形的辅助操作。
二、实验设备及预备材料:实验设备:MATLAB7.0;预备材料:(一)曲线图:Matlab作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给Matlab函数画图。
命令格式为:plot(x,y,s)其中x,y分别表示所取点集的横纵坐标,s指定线型及颜色。
缺省时表示画的是蓝色实线。
Plot(X,Y1,S1,X,Y2,S2,……,X,Yn,Sn)表示将多条线画在一起。
例在[0,2*pi]用红线画sin(x),用绿圈画cos(x)。
解:x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,’r’,x,z,’go’)所得图形如下图所示(二)符号函数(显函数、隐函数和参数方程)画图(1) ezplotezplot(‘f(x)’,[a,b])表示在a<x<b 绘制显函数f=f(x)的函数图;ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax])表示在区间xmin<x<xmax 和 ymin<y<ymax 绘制隐函数f(x,y)=0的函数图; ezplot(‘x(t)’,’y(t)’,[tmin,tmax])表示在区间tmin<t<tmax 绘制参数方程x=x(t),y=y(t)的函数图。
例 在[0,pi]上画y=cos(x)的图形解 输入命令:ezplot(‘sin(x)’,[0,pi])例 在[0,2*pi]上画t x 3cos =,t y 3sin =星形图解 输入命令:ezplot(‘cos(t).^3’,’sin(t).^3’,[0,2*pi])例 在[-2,0.5],[0,2]上画隐函数0)sin(=+xy e x 的图解 输入命令:ezplot('exp(x)+sin(x.*y)',[-2,0.5,0,2])(2) fplot格式:fplot(‘fun ’,lims)表示绘制字符串fun 指定的函数在lims=[xmin,xmax]的图形。
实验二二维/三维数据的可视化一、实验目的熟悉掌握简单的图形绘制函数;掌握MATLAB常用的二维、三维图形及其她图形绘制函数的使用方法;熟悉图形句柄的使用。
二、实验环境硬件环境:计算机一台软件环境:Matlab 6、0三、实验内容作为一个功能强大的工具软件,Matlab具有很强的图形处理功能,提供了大量的二维、三维图形函数。
由于系统采用面向对象的技术与丰富的矩阵运算,所以在图形处理方面即常方便又高效。
1、二维绘图(1)plot函数函数格式:plot(x,y) 其中x与y为坐标向量函数功能:以向量x、y为轴,绘制曲线。
例1 在区间0≤X≤2 内,绘制正弦曲线Y=SIN(X),其程序为:x=0:pi/100:2*pi;y=sin(x);plot(x,y)例2同时绘制正、余弦两条曲线Y1=SIN(X)与Y2=COS(X),其程序为: x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2)plot函数还可以为plot(x,y1,x,y2,x,y3,…)形式,其功能就是以公共向量x 为X轴,分别以y1,y2,y3,…为Y轴,在同一幅图内绘制出多条曲线。
例3 用不同线型与颜色重新绘制Y1=SIN(X)与Y2=COS(X),其程序为: x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,'go',x,y2,'b-、')其中参数'go'与'b-、'表示图形的颜色与线型。
g表示绿色,o表示图形线型为圆圈;b表示蓝色,-、表示图形线型为点划线。
在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。
title(‘加图形标题');xlabel('加X轴标记');ylabel('加Y轴标记');text(X,Y,'添加文本');例4 在坐标范围0≤X≤2π,-2≤Y≤2内重新绘制正弦曲线,其程序为:x=linspace(0,2*pi,60);生成含有60个数据元素的向量Xy=sin(x);plot(x,y);axis ([0 2*pi -2 2]);设定坐标轴范围2、subplot函数(1)subplot(m,n,p)该命令将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。
实验9 三维绘图一、实验目的学会MATLAB软件中三维绘图的方法。
二、实验内容与要求1.三维曲线图格式一:plot3(X,Y,Z,S).说明:当X,Y,Z均为同维向量时,则plot3描出点X(i),Y(i),Z(i)依次相连的空间曲线.若X,Y均为同维矩阵,X,Y,Z每一组相应列向量为坐标画出一条曲线,S为‘color﹣linestyle﹣marker’控制字符表1.6~表1.10.【例1.79】绘制螺旋线.>>t=0:pi/60:10*pi;>>x=sin(t);>>y=cos(t);>>plot3(x,y,t,’*-b’)>>grid on图形的结果如图1.16所示.格式二:comet3(x,y,z).说明:显示一个彗星通过数据x,y,z确定的三维曲线.【例1.80】>>t=-20*pi:pi/50:20*pi;>>comet3(sin(t),cos(t),t)可见到彗星头(一个小圆圈)沿着数据指定的轨道前进的动画图象,彗星轨道为整个函数所画的螺旋线.格式三:fill3(X,Y,Z,C) ℅填充由参数X,Y,Z确定的多边形,参数C指定颜色.图1.16 例1.79图形结果图1.17 例1.81图形结果【例1.81】>>X=[2,1,2;9,7,1;6,7,0];>>Y=[1,7,0;4,7,9;0,4,3];>>Z=[1,8,6;7,9,6;1,6,1];>>C=[1,0,0;0,1,0;0,0,1]>>fill3(X,Y,Z,C)>>grid on图形的结果如图1.17所示.问题1.30:图1.17中每个三角形按什么规律画出的?(用X,Y,Z的对应列元素值为坐标画三角形)每个三角形内填充的颜色又有何规律?(用C 第i列元素值对应的颜色,从第i个三角形对应顶点向中心过渡)若C=[1,5,10;1,5,10;1,5,10],结果如何?2.三维网格图格式:mesh(X,Y,Z,C) ℅画出颜色由C指定的三维网格图.meshc(X,Y,Z,C) ℅画出带有等高线的三维网格图.meshz(X,Y,Z,C) ℅画出带有底座的三维网格图.说明:若X与Y均为向量,n=length(X),m=length(Y), Z必须满足[m,n]=size(Z),则空间中的点(X(j),Y(i),Z(i,j))为所画曲面网线的交点,X 对应于Z的列,Y对应于Z的行;若X,Y,Z均为同维矩阵,则空间中的点(X(i,j),Y(i,j),Z(i,j))为所画曲面的网线的交点;矩阵C指定网线的颜色,MATLAB对矩阵C中的数据进行线性处理,以便从当前色图中获得有用的颜色,若C缺省,网线颜色和曲面的高度Z相匹配.在三维作图常用到命令meshgrid,其功能是生成二元函数z=f(x,y)中x-y平面上的矩形定义域中数据点矩阵X和Y.格式:[X,Y]= meshgrid(x,y).说明:输入向量x为x-y平面上x轴的值,向量y为x-y平面上y轴的值.输出矩阵X为x-y平面上数据点的横坐标值,输出矩阵Y为x-y平面上数据点的纵坐标值.【例1.82】>> x=1:4;>> y=1:5;>> [x,y]=meshgrid(x,y)x =1 2 3 41 2 3 41 2 3 41 2 3 41 2 3 4y =1 1 1 12 2 2 23 3 3 34 4 4 45 5 5 5图1.18所示x-y 平面上的矩形定义域中20个数据点(星号点)的坐标就是有X ,Y 决定的。
2.实验⼆MATLAB绘图⼀答案实验⼆ MATLAB 绘图⼀1. 编程绘制y=sin(t)/t 的曲线,t 的定义域是[-10Π,10Π],绘图时加⽹格解:t=[-10*pi:0.2:10*pi];y=sin(t)./t;plot(t,y),grid on-40-30-20-10010203040-0.4-0.20.20.40.60.812. 在[0,10]之间⽤⼀张图画出y=sin(t),y1=cos(t)的曲线,y ⽤红⾊实线绘制,y1⽤蓝⾊长划线绘制,绘图时加⽹格,横纵坐标⽐例相同,横轴标明“时间”,纵轴标明“正弦、余弦”,图题“正弦和余弦曲线”,要有图例说明,且⽤⿏标拖动来标注“sin(t)”、“cos(t)”。
解: t=0:0.1:10;y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--'); title('正弦和余弦曲线'); legend('正弦','余弦')xlabel('时间t'),ylabel('正弦、余弦') grid axis squaregtext('sin(t)'),gtext('cos(t)')246810-1-0.8-0.6-0.4-0.200.20.40.60.81正弦和余弦曲线时间t正弦、余弦3. ⽤三种⽅法编程,同时在⼀张图上观察常⽤对数、⾃然对数函数在[0,10]之间的曲线,其中在两种⽅法中,常⽤对数曲线⽤⿊⾊实线绘制,⾃然对数曲线⽤红⾊“+”绘制,绘图时,MATLAB 不要提⽰“W arning ” 解⼀: t=[0.1:0.1:10]; y1=log10(t); y2=log(t);plot(t,y1,'-k'),hold on plot(t,y2,'+r'),hold off246810-2.5-2-1.5-1-0.500.511.522.5解⼆: t=[0.1:0.1:10]; y1=log10(t); y2=log(t); plot(t,[y1;y2])246810-2.5-2-1.5-1-0.500.511.522.5解三: t=[0.1:0.1:10]; y1=log10(t); y2=log(t); plot(t,y1,'-k',t,y2,'+r')246810-2.5-2-1.5-1-0.500.511.522.54.曲线y=x+2x2+3x3,x的定义域为[-3,3],在⼀张图上⽤排成⼀⾏的三幅⼦图分别显⽰该曲线:⿊⾊实线图、脉冲图、条形图,每幅图均有图题及横纵坐标轴说明解:x=[-3:0.1:3];y=x+2*x.^2+3*x.^3;subplot(1,3,1),plot(x,y,'k')title('plot(x,y)')xlabel('x'),ylabel('y')subplot(1,3,2),stem(x,y)title(' stem(x,y)')xlabel('x'),ylabel('y')subplot(1,3,3),bar(x,y)title(' bar(x,y)')xlabel('x'),ylabel('y')5.通过MATLAB的help功能⾃学如何绘制饼图,在⼀张图上分上下两幅分别绘制“通信08-1”、“通信08-2”、“电⼦08-1”、“电⼦08-2”的“MATLAB ⼤侠”⽐例为3:3:2:2的饼图和⽴体饼图,其中,“通信08-1”的饼被抽出。
实验二 MATLAB 的绘画功能
实验目的
熟悉MTALAB 中几种常用的绘图命令,掌握几种常用图形的画法。
实验原理
1.二维:用 matlab 二维绘图命令 plot 作出函数图形。
形式: plot(x,y)
2.空间三维作图:三维曲线:plot3(x,y,z,s);三维曲面:mesh(X,Y ,Z) 网格生成函数:meshgrid
surf(X,Y ,Z):绘制由矩阵 X,Y ,Z 所确定的曲面图,参数含义同 mesh
实验内容:
1.利用 plot 函数在一个坐标系下绘制以下函数的图形, y1=sin(x) ; y2=cos(x) ; y3=cos(2x) x ∈[0,2*pi] 要求采用不同的颜色、线型、点标记。
2.plot3 绘制类似田螺线的一条三维螺线
()()2cos sin 2sin cos 2.3x t t t y t t t z t =+⎧⎪=-⎨⎪=⎩
3.利用mesh
函数绘制方程:z =表示的部分曲面。
4. 利用 surf 函数绘制马鞍面,方程为:
22
94
x y z =-。
实验报告(二)完成人:L.W.Yohann注:本次实验主要学习了用MATLAB绘制二维、三维图形的基本命令、图形的标识与修饰以及用符号函数绘图,在学习完成后小组对52页的上机练习题进行了程序编辑和运行。
1.绘制数列变化趋势图.解:在编辑窗口输入:n=1:100;an=(1+1./n).^n;plot(n,an,'r*')grid并保存,命名为lab1;在命令窗口中输入lab1,得:2.绘制数列变化趋势图.解:在编辑窗口输入:n=1:0.1:50;an=n.^(1./n);plot(n,an,'r*')grid并保存,命名为lab2;在命令窗口中输入lab2,得:3.绘制函数在无定义点处的变化趋势.解:在编辑窗口输入:x=-10:0.05:10;y=sin(x)./x;plot(x,y,'r*')grid并保存,命名为lab3;在命令窗口中输入lab3,得:4.在同一坐标系中画出函数及其Taylor多项式的图像解:y=sinx在编辑窗口输入:syms xf=sin(x);T6=taylor(f,x);T8=taylor(f,x,'Order',8);T10=taylor(f,x,'Order',10);T12=taylor(f,x,'Order',12);fplot([T6 T8 T10 T12 f])xlim([-8 8])grid onlegend('approximation of sin(x) up to O(x^6)',...'approximation of sin(x) up to O(x^8)',...'approximation of sin(x) up to O(x^{10})',...'approximation of sin(x) up to O(x^{12})',...'sin(x)','Location','Best')title('Taylor Series Expansion')并保存,命名为lab4sin;在命令窗口中输入lab4sin,得:y=exp(x)在编辑窗口输入:syms xf=exp(x);T6=taylor(f,x);T8=taylor(f,x,'Order',8);T10=taylor(f,x,'Order',10);T12=taylor(f,x,'Order',12);fplot([T6 T8 T10 T12 f])xlim([-8 8])grid onlegend('approximation of exp(x) up to o(x^6)',...'approximation of exp(x) up to o(x^8)',...'approximation of exp(x) up to o(x^{10})',...'approximation of exp(x) up to o(x^{12})',...'exp(x)','Location','Best')title('Taylor Series Expansion')并保存,命名为lab4exp;在命令窗口中输入lab4exp,得:5.符号函数绘图.注:在matlab r2010b 和matlab r2019b中对绘制函数图像的输入方法有不同的要求,故此类题分两个版本来求解。