Matlab画图程序文档格式.docx

上传人:b****6 文档编号:8659105 上传时间:2023-05-12 格式:DOCX 页数:21 大小:194.05KB
下载 相关 举报
Matlab画图程序文档格式.docx_第1页
第1页 / 共21页
Matlab画图程序文档格式.docx_第2页
第2页 / 共21页
Matlab画图程序文档格式.docx_第3页
第3页 / 共21页
Matlab画图程序文档格式.docx_第4页
第4页 / 共21页
Matlab画图程序文档格式.docx_第5页
第5页 / 共21页
Matlab画图程序文档格式.docx_第6页
第6页 / 共21页
Matlab画图程序文档格式.docx_第7页
第7页 / 共21页
Matlab画图程序文档格式.docx_第8页
第8页 / 共21页
Matlab画图程序文档格式.docx_第9页
第9页 / 共21页
Matlab画图程序文档格式.docx_第10页
第10页 / 共21页
Matlab画图程序文档格式.docx_第11页
第11页 / 共21页
Matlab画图程序文档格式.docx_第12页
第12页 / 共21页
Matlab画图程序文档格式.docx_第13页
第13页 / 共21页
Matlab画图程序文档格式.docx_第14页
第14页 / 共21页
Matlab画图程序文档格式.docx_第15页
第15页 / 共21页
Matlab画图程序文档格式.docx_第16页
第16页 / 共21页
Matlab画图程序文档格式.docx_第17页
第17页 / 共21页
Matlab画图程序文档格式.docx_第18页
第18页 / 共21页
Matlab画图程序文档格式.docx_第19页
第19页 / 共21页
Matlab画图程序文档格式.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Matlab画图程序文档格式.docx

《Matlab画图程序文档格式.docx》由会员分享,可在线阅读,更多相关《Matlab画图程序文档格式.docx(21页珍藏版)》请在冰点文库上搜索。

Matlab画图程序文档格式.docx

w白^向上三角形

k黑>

大于号

例如,在上例中输入

plot(x,y1,'

r+-'

x,y2,'

k*:

'

则得图5.1.2

图5.1.2使用不同标记的plot函数绘制的正弦曲线

5.1.2图形修饰

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

表5.1.2图形修饰函数表

函数 

 

含义

gridon(/off) 

给当前图形标记添加(取消)网络

xlable(‘string’) 

标记横坐标

ylabel(‘string’) 

标记纵坐标

title(‘string’) 

给图形添加标题

text(x,y,’string’) 

在图形的任意位置增加说明性文本信息

gtext(‘string’) 

利用鼠标添加说明性文本信息

axis([xminxmaxyminymax])设置坐标轴的最小最大值

例5.1.2给例5.1.1的图形中加入网络和标记。

(见图5.1.3和5.1.4)

gridon

xlabel('

independentvariableX'

ylabel('

DependentVariableY1&

Y2'

title('

SineandCosineCurve'

text(1.5,0.3,'

cos(x)'

gtext('

sin(x)'

axis([02*pi-0.90.9])

图5.1.3使用了图形修饰的plot函数绘制的正弦曲线

5.1.3图形的比较显示

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

形窗口。

但有时希望后续的图形能够和前面所绘制的图形进行比较。

一般来说有两种方法:

一是采用holdon(/off)命令,将新产生的图形曲线叠加到已有的图形上;

二是采用subplot(m,n,k)函数,将图形窗口分隔成nm×

个子图,并选择第k个子图作为当前图形

,然后在同一个视图窗口中画出多个小图形。

例5.1.3在同一窗口中绘制线段。

y3=x;

y4=log(x);

holdon

plot(x,y3)

plot(x,y4)

holdoff

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

(见图5.1.6)

y3=exp(x);

subplot(2,2,1);

plot(x,y1);

subplot(2,2,2);

plot(x,y2);

subplot(2,2,3);

plot(x,y3);

subplot(2,2,4);

plot(x,y4);

[说明]

(1)子窗口的序号按行由上往下,按列从左向右编号。

(2)如果不用指令clf清除,以后图形将被绘制在子图形窗口中。

图5.1.6图形的比较显示(图形窗口分割方法)

5.2三维立体图形

5.2.1三维曲线图

与二维图形相对应,MATLAB提供了plot3函数,可以在三维空间中绘制三维曲线,

它的格式类似于plot,不过多了z方向的数据。

plot3的调用格式为:

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

其中x1,y1,z1,x2,y2,z2,…等分别为维数相同的向量,分别存储着曲线的三个坐标值,该

函数的使用方式和plot类似,也可以采用多种的颜色或线型(见表5.1.1)来区分不同的数据

组,只需在每组变量后面加上相关字符串即可实现该功能。

例5.2.1绘制方程x=t

y=sin(t)

z=cos(t)

在t=[0,2*pi]上的空间方程。

(见图5.2.1)

clf

plot3(y1,y2,x,'

m:

p'

DependentVariableY1'

DependentVariableY2'

zlabel('

IndependentVariableX'

图5.2.1函数plot绘制的三维曲线图

5.2.2三维曲面图

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

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

surf

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

平面连接。

为方便测试立体绘图,MATLAB提供了一个peaks函数,它可以产生一个的高

斯分布矩阵,其生成方程是NN×

z=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)-10*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)-1/3*exp(-(x+1).^2-y.^2)

对应的图形是一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点。

下面使用peaks函数来比较一下mesh和surf的区别。

例5.2.2分别用mesh函数和surf函数绘制高斯矩阵的曲面。

z=peaks(40);

mesh(z);

surf(z);

图5.2.2mesh函数绘制的三维曲面图

图5.2.3surf函数绘制的着色表面图

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

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

其中x和y是向量,通过meshgrid函数就可将x和y指定的区域转换成为矩阵X和Y。

这样我们在绘图时就可以先用meshgrid函数产生在x-y平面上的二维的网格数据,再以一

组z轴的数据对应到这个二维的网格,即可画出三维的曲面。

例5.2.3绘制方程

sin((x^2+y^2)^(1/2))

z=---------------------

(x^2+y^2)^(1/2)

在x∈[-7.5,7.5];

y∈[-7.5,7.5]的图形。

x=-7.5:

0.5:

7.5;

y=x;

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

R=sqrt(X.^2+Y.^2)+eps;

Z=sin(R)./R;

surf(X,Y,Z)

X轴方向'

Y轴方向'

Z轴方向'

(见图5.2.4)

图5.2.4

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

(见图5.2.5)

z=x*exp(-(x^2+y^2))

clear

x=-2:

0.1:

2;

Z=X.*exp(-X.^2-Y.^2);

图5.2.5

5.2.3观察点

MTALAB允许用户设置观察点,其指令是:

view(azimuth,elevation)

其中方位角azimuth是观察点和坐标原点连线在x-y平面的投影和y轴负方向的夹角,仰

角elevation是观察点与坐标原点的连线和x-y平面的夹角。

对于这两个角度,三维图形的

默认值分别是-37.5和30,二维图形的默认值是0和90。

例5.2.5从不同的角度观察高斯矩阵的曲面。

view(-37.5,-30);

view(180,0);

view(0,90);

图5.2.6对应不同观察点的三维曲面图

5.3其他图形函数

除了plot绘图函数以外,在有些场合对绘制的曲线会有一些特殊要求,这就要其他函

数来实现,常用的几种函数如下(见表5.3.1)

表5.3.1其他图形函数表

loglog 

 

使用对数坐标系绘图

semilogx 

横坐标为对数坐标轴,纵坐标为线性坐标轴

semilogy 

横坐标为线性坐标轴,纵坐标为对数坐标轴

polar 

绘制极坐标图

fill 

绘制实心图

bar 

绘制直方图

pie 

绘制饼图

area 

绘制面积图

quiver 

绘制向量场图

stairs 

绘制阶梯图

sterm 

绘制火柴杆图

例5.3.1

bar(x,y1);

fill(x,y1,'

g'

);

stairs(x,y1,'

k'

图5.3.1其他图形函数

5.3.1直方图

函数bar(x)可以绘制直方图,这对统计或者数据采集非常直观实用。

它共有四种形式:

bar,bar3,barh和bar3h,其中bar和bar3分别用来绘制二维和三维竖直方图,barh和b

ar3h分别用来绘制二维和三维水平直方图,调用格式是:

bar(x,y)其中x必须单调递增或递减,y为nm×

矩阵,可视化结果为m组,每

组n个垂直柱,也就是把y的行画在一起,同一列的数据用相同的颜色表示;

bar(x,y,width)(或bar(y,width))指定每个直方条的宽度,如width>

1,则直方条会重

叠,默认值为width=0.8;

bar(…,’grouped’)使同一组直方条紧紧靠在一起;

bar(…,’stack’)把同一组数据描述在一个直方条上。

例5.3.2

y=[5329;

4727;

1573];

subplot(2,2,1),bar(y)

x=[5911];

subplot(2,2,2),bar3(x,y)

subplot(2,2,3),bar(x,y,'

grouped'

subplot(2,2,4),bar(rand(2,3),.75,'

stack'

图5.3.2直方图

5.3.2面积图

函数area用来绘制面积图,面积图在plot的基础上填充x轴和曲线之间的面积,该图

用于查看某个数在该列所有数的总和中所占的比例。

例5.3.3

x=-3:

3;

y=[325;

618;

749;

637;

829;

429;

317];

area(x,y)

图5.3.3面积图

5.3.3饼图

函数pie用来绘制饼图,它可以形象地表示出向量中各元素所占比例。

其调用格式是:

pie(x)x中的元素通过x/sum(x)进行归一化,以确定饼图中的份额;

pie(x,explode)向量explode和x元素数相同,用来指出需要分开的饼片,explode中

不为零的部分会被分开。

例5.3.4设某班的某课程的考试成绩如下:

90分以上有32人,81至90有58人,71

至80分有27人,60至70分为21人,60分以下有16人,画出饼图。

(见图5.3.4)

x=[3258272116];

explode0=[10000];

subplot(1,2,1)

pie(x,explode0)

explode1=[00001];

subplot(1,2,2)

pie(x,explode1)

图5.3.4饼图

5.3.4不同坐标系中的绘图

Semilogx,semilogy,loglo,polar(theta,rho)的使用方法和plot完全类似,不同的只是绘

制到不同的图形坐标上。

函数semilogx绘制x轴为对数标度的图形,在半对数坐标系中绘图;

函数semilogy绘制y轴为对数标度的图形;

函数loglog绘制两个轴都为对数间隔的图形;

函数polar(theta,rho)绘制极坐标图形,其中theta为相角,rho为其对应的半径。

例5.3.5绘制ρ=acos(3θ),a=2的图形。

(见图5.3.5)

theta=-pi:

pi/80:

pi;

polar(theta,2*cos(3*theta))

图5.3.5极坐标图

5.4符号表达式绘图

MATLAB软件提供了将表达式进行图形显示的功能。

完成此功能需调用fplot函数和

ezplot函数。

函数fplot用来绘制数学函数,其调用格式为:

fplot(fun,lims)

其中fun就是所要绘制的函数,可以是定义函数的M文件名,也可以是以x为变量的可计

算字符串。

例如’diric(x,10)’或’[sin(x),cos(x)]’,对于向量x的每个元素,函数

fun(x)必须返回一个行向量。

如果fun返回[f1(x),f2(x),f3(x)],输入[x1;

x2],就会返回矩阵

f1(x1)f2(x1)f3(x1)

f1(x2)f2(x2)f3(x2)

lims=[XMINXMAXYMINYMAX]限定了x,y轴上的绘图空间。

例5.4.1

subplot(2,2,1),fplot('

humps'

[01])

subplot(2,2,2),fplot('

abs(exp(-j*x*(0:

9))*ones(10,1))'

[02*pi])

subplot(2,2,3),fplot('

[tan(x),sin(x),cos(x)]'

2*pi*[-11-11])

subplot(2,2,4),fplot('

sin(1./x)'

[0.010.1],1e-3)

图5.4.1fplot函数绘制表达式图形

ezplot函数是简捷绘图指令之一,它无需数据准备,直接画出函数图形,基本调用格式

为ezplot(f)其中f是字符串或代表数学函数的符号表达式,只有一个符号变量,可以是x,缺省情况下

x轴的绘图区域为[-π,π],但我们可以用ezplot(f,xmin,xmax)或ezplot(f,[xmin,xmax])来指定x的范围。

例5.4.2

y='

x^2'

;

ezplot(y)

ezplot(y,[-pi,pi])

图5.4.2ezplot函数绘制表达式图形

5.5plot函数

MATLAB对数据是按列存储和计算的,运用plot(x)时,当x为一个向量时,以其元

素为纵坐标,其序号为横坐标值绘制曲线。

当x为实矩阵时,则以其序号为横坐标,按列

绘制每列元素相对于序号的曲线,当x为nm×

矩阵时,就有n条曲线。

如果x,y是同维向量,plot(x,y)指令以x元素为横坐标值,y元素为纵坐标值绘制曲线。

如x是向量,y是有一维与x元素数量相等的矩阵,则以x为共同横坐标,按列绘制y每

列元素值,曲线数为y的另一维的元素数。

如果x,y是同维矩阵,则以x,y对应列元素为、

纵坐标分别绘制曲线,数目等于矩阵的列数。

例5.5.1

x=[35108];

subplot(2,2,1)

plot(x)

x=[35108;

7294;

2727]'

subplot(2,2,2)

x=[3568];

y=[15104];

subplot(2,2,3)

plot(x,y)

x=[1357;

2468]'

y=[62510;

3526]'

subplot(2,2,4)

plot(x,y,'

k:

*'

图5.5.1

5.6交互式图形指令

ginput是一个比较特殊的图形指令,用作获取图上数据,例如指令

[x,y]=ginput(6)%从图形上选取6个点此时,ginput指令将把当前图形调入前台,同时光标变为十字叉,移动光标,使交叉点落在目标点上,单击鼠标,即可获得该点数据。

例5.5.2

fplot('

ginput(6)

x=

0.0449

0.1832

0.3007

0.3813

0.6417

0.8952

-18-

y=

7.4561

38.1579

96.3450

57.4561

10.9649

21.1988

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2