文档库 最新最全的文档下载
当前位置:文档库 › 实验五MATLAB的基本绘图方法

实验五MATLAB的基本绘图方法

实验五MATLAB的基本绘图方法
实验五MATLAB的基本绘图方法

实验三MATLAB的基本绘图方法

一、实验目的

1.二维平面图形的绘制

2.三维立体图形的绘制

3.隐函数作图

二、实验地点:A404

三、实验日期:

四、实验内容

(一)二维平面图形的绘制

1、Plot的使用方法介绍

plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制

曲线。当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x 为m×n 矩阵时,就由n 条曲线。

(2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。

(3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,…元素为纵坐标值绘制多条曲线。

例1:画出一条正弦曲线和一条余弦曲线。

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> plot(x,y1,x,y2)

注:在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MA TLAB 软件专门提供了这方面的参数选项,我们只要在每个坐标后加上相关字符串,就可实现它们的功能。具体参见教材。

2、图形修饰

MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。

图形修饰函数表如下:

函数含义

grid on (/off) 给当前图形标记添加(取消)网络

xlable(‘string’) 标记横坐标

ylabel(‘string’) 标记纵坐标

title(‘string’) 给图形添加标题

text(x,y,’string’) 在图形的任意位置增加说明性文本信息

gtext(‘string’) 利用鼠标添加说明性文本信息

axis([xmin xmax ymin ymax]) 设置坐标轴的最小最大值

例2、给例1的图形中加入网络和标记。

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> plot(x,y1,x,y2)

>> grid on

>> xlabel('independent variable X')

>> ylabel(‘Dependent Variable Y1 & Y2’)

>> title('Sine and Cosine Curve')

>> text(1.5,0.3,'cos(x)')

>> gtext('sin(x)')

>> axis([0 2*pi -0.9 0.9])

3、图形的比较显示

在一般默认的情况下,MA TLAB 每次使用plot 函数进行图形绘制,将重新产生一个图

形窗口。但有时希望后续的图形能够和前面所绘制的图形进行比较。一般来说有两种方法:一是采用hold on(/off)命令,将新产生的图形曲线叠加到已有的图形上;

二是采用subplot(m,n,k)函数,将图形窗口分隔成n ×m 个子图,并选择第k 个子图作为当前图形,然后在同一个视图窗口中画出多个小图形。

例3、在多个窗口中绘制图形。

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> subplot(2,2,1);

>> plot(x,y1);

>> subplot(2,2,2);

>> plot(x,y2);

(二)三维立体图形

1、三维曲线图

与二维图形相对应,MA TLAB 提供了plot3 函数,可以在三维空间中绘制三维曲线,它的格式类似于plot,不过多了z 方向的数据。plot3 的调用格式为:

plot3(x1,y1,z1,x2,y2,z2,...)

其中x1,y1,z1,x2,y2,z2,…等分别为维数相同的向量,分别存储着曲线的三个坐标值,该函数的使用方式和plot 类似。

例1、绘制方程x=t,y=sin(t),z=cos(t)

在t=[0,2*pi]上的立体图形。

>> clf

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> plot3(y1,y2,x,'*b')

>> grid on

>> xlabel('Dependent Variable Y1')

>> ylabel('Dependent Variable Y2')

>> zlabel('Independent Variable X')

>> title('Sine and Cosine Curve')

2、三维曲面图

如果要画一个三维的曲面,可以使用mesh(X,Y,Z)或surf(X,Y,Z)函数来实现。

mesh 函数为数据点绘制网格线,图形中的每一个已知点和其附近的点用直线连接。surf

函数和mesh 的用法类似,但它可以画出着色表面图,图形中的每一个已知点与其相邻点以平面连接。

在曲面绘图中,常用的函数是meshgrid 函数,其一般引用格式是:

[X, Y]=meshgrid (x, y)

其中x 和y 是向量,通过meshgrid 函数就可将x 和y 指定的区域转换成为矩阵X 和Y。这样我们在绘图时就可以先用meshgrid 函数产生在x-y 平面上的二维的网格数据,再以一组z 轴的数据对应到这个二维的网格,即可画出三维的曲面。

例2、绘制由方程形成的立体图。

>> clear

>> [x,y]=meshgrid([-2:0.1:2])

>> z=x.*exp(-x.^2-y.^2)

>> subplot(232)

>> plot3(x,y,z) %多条曲线

>> box off

>>subplot(2,3,3)

>>meshz(x,y,z) %网状图

>>subplot(2,3,4)

>>surf(x,y,z) %表面图

>>subplot(2,3,5)

>>contour(x,y,z) %等高线图

(三)隐函数作图

如果给定了函数的显式表达式,可以先设置自变量向量,然后根据表达式计算函数向量,从而用plot等函数绘制出图形。但是当函数采用隐函数形式时,则很难利用上述方法绘制图形。Matlab提供了一个ezplot函数绘制隐函数图形。

例1、对下列隐函数进行绘图:

x^2+y^2-9=0;x^3+y^3-5*x*y+1/5=0;

x=8*cos(t),y=4*sqrt(2)*sin(t),区间为[0,2*pi]

程序如下:

subplot(2,2,1);

ezplot('x^2+y^2-9');

axis equal;

subplot(2,2,2);

ezplot('x^3+y^3-5*x*y+1/5')

subplot(2,2,3);

ezplot('8*cos(t)','4*sqrt(2)*sin(t)',[0,2*pi]);

第5章MATLAB绘图_习题答案

第5章MATLAB绘图 习题5 一、选择题 1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。D A.12B.7C.4D.3 2.下列程序的运行结果是()。A x=0:pi/100:2*pi; forn=1:2:10 plot(n*sin(x),n*cos(x)) holdon end axissquare A.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)是指()的子图。A A.两行两列的左下图B.两行两列的右下图 C.两行两列的左上图D.两行两列的右上图 x的曲线绘制成直线,应采用的绘图函数是()。C 5.要使函数y=2e A.polarB.semilogxC.semilogyD.loglog 6.下列程序的运行结果是()。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.下列函数中不能用于隐函数绘图的是()。D A.ezmeshB.ezsurfC.ezplotD.plot3 8.下列程序运行后,看到的图形()。C t=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);

第5章--MATLAB绘图-习题答案上课讲义

第5章--M A T L A B绘图-习题答案

第5章 MATLAB绘图 习题5 一、选择题 1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。D A.12 B.7 C.4 D.3 2.下列程序的运行结果是()。A x=0:pi/100:2*pi; for n=1:2:10 plot(n*sin(x),n*cos(x)) hold on end axis square A.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)是指()的子图。A A.两行两列的左下图 B.两行两列的右下图 C.两行两列的左上图 D.两行两列的右上图 5.要使函数y=2e x的曲线绘制成直线,应采用的绘图函数是()。C A.polar B.semilogx C.semilogy D.loglog 6.下列程序的运行结果是()。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.下列函数中不能用于隐函数绘图的是()。D A.ezmesh B.ezsurf C.ezplot D.plot3 8.下列程序运行后,看到的图形()。C t=0:pi/20:2*pi; [x,y]=meshgrid(-8:0.5:8);

第四讲 、Matlab绘图

第四讲 Matlab绘图 4.1 二维图形 4.2 数据分析图 4.3 三维图形 4.1 二维图形 1、基本图形的绘制 plot(x,y) 对向量x绘制向量y。以x为横坐标,y为纵坐标,按照坐标(xi ,yi)的有序排列绘制曲线。 plot(...,str) 使用字符串str指定的颜色和线型进行绘图。 例1:>> x=-pi:0.02*pi:pi; >> y=sin(x).*x.^2; >> plot(x,y) ezplot(f,xmin,xmax) 绘制函数f在区间[xmin,xmax]上的图形。如果省略xmin和xmax参数,区间将大概取在-2pi——2pi之间。由于ezplot命令使用算法来判断该函数变化显著的区间,因此区间的选取是不固定的。 例2:>> ezplot('sin(x).*x.^2') 2、图形控制 figure(gcf) 显示当前图形窗口。只键入figure命令则创建新的图形窗口; shg 显示当前图形窗口,等价于figure(gcf)。 hold on 保持当前图形。允许在当前图形状态下,使用同样的缩放比例加入另一个图形。 hold off 释放图形窗口,这样下一个图形将称为当前图形。这是缺省状态。 hold 在hold on和hold off之间进行切换。 subplot(m,n,p) 将图形窗口分割成m行n列,并设置p所指定的子窗口为当前窗口。子窗口按行由左至右,由上至下进行编号。这一命令在Matlab的当前版本中也被写作subplot(mnp)。axis…)用行向量中给出的值,设置坐标轴的最大和最小值。对于二维图形,该向量中含有元素: [xmin, xmax, ymin, ymax]。对于三维图形,是[xmin, xmax, ymin, ymax,zmin, zmax]。axis ~~ ~~的不同参数将给出不同的结果: 1.manual 固定坐标轴刻度。如果当前图形窗口为hold on状态,则后面的图形将采用同样的刻度 2.auto 把坐标轴刻度重新设置为缺省状态值。 3.equal 设置x轴和y轴为同样的刻度增量。 4.tight 以数据的大小为坐标轴的范围。 5.ij 翻转y轴,使得正数在下,负数在上。 6.xy 复位y轴,使正数在上。 7.off 坐标轴消隐。 8.on 绘制坐标轴。 title(txt) 在图形窗口顶端的中间位置输出字符串txt作为标题。 xlabel(txt) 在x轴下的中间位置输出字符串txt作为标注。 ylabel(txt) 在y轴边上的中间位置输出字符串txt作为标注。 zlabel(txt) 在z轴边上的中间位置输出字符串txt作为标注。 text(x,y,txt) 在图形窗口的(x,y)处写字符串txt。坐标x和y按照与所绘制图形相同的刻度给出。对于向量x和y,字符串txt写在(xi,yi)的位置上。如果t x t是一个字符串向量,即一个字符矩阵,且与x, y有相同的行数,则第i行的字符串将写在图形窗口的(xi,yi)的位置上。 gtext(txt) 通过使用鼠标或方向键,移动图形窗口中的十字光标,让用户将字串t xt放置在图形窗口中。当十字光标走到所期望的位置时,用户按下任意键或鼠标上的任意按钮,字符串将会写入在窗口中。

第5章--MATLAB绘图-习题答案

》 第5章 MATLAB绘图 习题5 一、选择题 1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。D A.12 B.7 C.4 D.3 2.下列程序的运行结果是()。A x=0:pi/100:2*pi; for n=1:2:10 … plot(n*sin(x),n*cos(x)) hold on end axis square A.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)是指()的子图。A A.两行两列的左下图 B.两行两列的右下图 C.两行两列的左上图 D.两行两列的右上图 5.要使函数y=2e x的曲线绘制成直线,应采用的绘图函数是()。C A.polar B.semilogx C.semilogy D.loglog 6.下列程序的运行结果是()。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.下列函数中不能用于隐函数绘图的是()。D

A.ezmesh B.ezsurf C.ezplot D.plot3 8.下列程序运行后,看到的图形()。C t=0:pi/20:2*pi; [x,y]=meshgrid(-8::8); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps); … surf(x,y,z) view(0,90);axis equal A.像墨西哥帽子 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);shading interp A.在一个正方形的正中心挖掉了一个小的正方形 B.在一个正方形的正中心挖掉了一个小的长方形 C.在一个正方形的上端挖掉了一个小的正方形 D.在一个正方形的下端挖掉了一个小的正方形 10.在使用MATLAB“绘图”选项卡中的命令按钮绘图之前,需要()。B A.在命令行窗口中输入绘图命令 B.在工作区中选择绘图变量 ) C.打开绘图窗口 D.建立M文件 二、填空题 1.执行以下命令: x=0:pi/20:pi; y=sin(x); 以x为横坐标、y为纵坐标的曲线图绘制命令为,给该图形加上“正弦波”标题的命令为,给该图形的横坐标标注为“时间”,纵坐标标注为“幅度”的命令分别为和。plot(x,y),title(‘正弦波’),xlabel(‘时间’),ylabel(‘幅度’) 2.在同一图形窗口中绘制y1和y2两条曲线,并对图形坐标轴进行控制,请补充程序。 x=-3::3; % y1=2*x+5;

第二讲 Matlab编程与作图

第二讲Matlab编程与作图 第一部分Matlab程序设计初步 Matlab除了指令行操作的直接交互外,作为一种高级应用软件还提供了自己的编程语言。通过编写Matlab程序,可以更加方便地调用Matlab提供的各种功能强大的函数库,使得程序能完成复杂的运算处理大量的数值数据。 1、M文件简介 Matlab提供了丰富的编程语言,使得用户可以将一连串的命令写入文件,然后使用简单的函数来执行这些命令。文件被保存为文本文件,后缀为.m,比如说dblquad.m,因此Matlab的程序通常被称为M 文件。 M文件是一个文本文件,可以使用各种文本编辑器对它进行编辑和修改,比如Windows操作系统自带的记事本,也可以用Matlab 内建的M文件编辑器。 M文件分为两类,一类称为脚本(Scripts),类似于批处理文件,相当于将在Matlab命令窗口中执行的一系列指令放在一个文件中,当在命令窗口调用该文件名时,则按顺序执行其中的命令集。 例:编写求10!的程序。 另一类M文件称为函数(Function),它可以接受输入变量,并将运算结果送至输出变量,类似于数学中的函数y=f(x)。 函数M文件的基本结构: function f=fact(n) 函数定义行

%Compute a factorial value. %FACT(N) returns the factorial of N, 帮助文档%usually denoted by N! %Put simply,FACT(N) is PROD(1:N), 注释 f=prod(1:n); 函数体2、运算符 关系运算符:<, <=, >, >=, = =, ~= 逻辑运算符:与(&),或(|),非(~) 例:编写分段函数 21 () 1 -1<1 321 x x f x x x x ?> ? =≤ ? ?+≤- ? %myfun1.m function y=myfun1(x) y=(x.^2).*(x>1)+(x>-1& x<=1)+(3+2*x).*(x<=-1); 注意:1.函数名与变量名的命名法则相同,要求以字母开头,后接字母或下划线;2.函数名与保存的文件名最好一致。 3、控制流 所有的计算机编程语言都提供了控制程序流执行程序的语法,Matlab也不例外。所有的控制流语法都以end 结尾。 ⑴for 循环语句 语法:for 循环变量=数组 指令组;

第5章 MATLAB绘图_习题答案

第5章 MATLAB绘图 习题5 一、选择题 1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。D A.12 B.7 C.4 D.3 2.下列程序的运行结果是()。A x=0:pi/100:2*pi; for n=1:2:10 plot(n*sin(x),n*cos(x)) hold on end axis square A.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)是指()的子图。A A.两行两列的左下图B.两行两列的右下图 C.两行两列的左上图D.两行两列的右上图 5.要使函数y=2e x的曲线绘制成直线,应采用的绘图函数是()。C A.polar B.semilogx C.semilogy D.loglog 6.下列程序的运行结果是()。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.下列函数中不能用于隐函数绘图的是()。D A.ezmesh B.ezsurf C.ezplot D.plot3 8.下列程序运行后,看到的图形()。C t=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);

相关文档