MATLAB绘图功能大全Word文档格式.docx

上传人:b****6 文档编号:18072514 上传时间:2022-12-13 格式:DOCX 页数:16 大小:24.12KB
下载 相关 举报
MATLAB绘图功能大全Word文档格式.docx_第1页
第1页 / 共16页
MATLAB绘图功能大全Word文档格式.docx_第2页
第2页 / 共16页
MATLAB绘图功能大全Word文档格式.docx_第3页
第3页 / 共16页
MATLAB绘图功能大全Word文档格式.docx_第4页
第4页 / 共16页
MATLAB绘图功能大全Word文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

MATLAB绘图功能大全Word文档格式.docx

《MATLAB绘图功能大全Word文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB绘图功能大全Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

MATLAB绘图功能大全Word文档格式.docx

x=[x;

x;

x]'

;

y=[y1;

y2;

y3]'

plot(x,y,x,cos(x))

x,y都是含有三列的矩阵,它们组成输入参数对,绘制三条曲线;

x和cos(x)又组成一对,绘制一条余弦曲线。

利用plot函数可以直接将矩阵的数据绘制在图形窗体中,此时plot函数将矩阵的每一列数据作为一条曲线绘制在窗体中。

A=pascal(5)

A=

1

5

10 

15

20 

35

15 

35 

70

plot(A)

3.含选项的plot函数

Matlab提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号。

这些选项如表所示:

线型

颜色

标记符号

-实线

b蓝色

s方块

:

虚线

g绿色

o圆圈

d菱形

-.点划线

r红色

×

叉号

∨朝下三角符号

--双划线

c青色

+加号

∧朝上三角符号

m品红

*星号

<

朝左三角符号

y黄色

朝右三角符号

k黑色

p五角星

w白色

h六角星

例用不同的线型和颜色在同一坐标内绘制曲线及其包络线。

x=(0:

2*pi)'

y1=2*exp(-0.5*x)*[1,-1];

y2=2*exp(-0.5*x).*sin(2*pi*x);

x1=(0:

12)/2;

y3=2*exp(-0.5*x1).*sin(2*pi*x1);

plot(x,y1,'

k:

'

x,y2,'

b--'

x1,y3,'

rp'

);

在该plot函数中包含了3组绘图参数,第一组用黑色虚线画出两条包络线,第二组用蓝色双划线画出曲线y,第三组用红色五角星离散标出数据点。

4.双纵坐标函数plotyy

在Matlab中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy函数,它能把具有不同量纲,不同数量级的两个函数绘制在同一个坐标中,有利于图形数据的对比分析。

使用格式为:

plotyy(x1,y1,x2,y2)。

x1,y1对应一条曲线,x2,y2对应另一条曲线。

横坐标的标度相同,纵坐标有两个,左边的对应x1,y1数据对,右边的对应x2,y2。

(二)绘制图形的辅助操作

绘制完图形以后,可能还需要对图形进行一些辅助操作,以使图形意义更加明确,可读性更强。

1.图形标注

在绘制图形时,可以对图形加上一些说明,如图形的名称、坐标轴说明以及图形某一部分的含义等,这些操作称为添加图形标注。

有关图形标注函数的调用格式为:

title(’图形名称’)(都放在单引号内)

xlabel(’x轴说明’)

ylabel(’y轴说明’)

text(x,y,’图形说明’)

legend(’图例1’,’图例2’,…)P190

其中,title、xlabel和ylabel函数分别用于说明图形和坐标轴的名称。

text函数是在坐标点(x,y)处添加图形说明。

(P88或用gtext命令)。

legend函数用于绘制曲线所用线型、颜色或数据点标记图例,图例放置在空白处,用户还可以通过鼠标移动图例,将其放到所希望的位置。

除legend函数外,其他函数同样适用于三维图形,在三维中z坐标轴说明用zlabel函数。

上述函数中的说明文字,除了使用标准的ASCII字符外,还可以使用LaTex(一种流行的数学排版软件)格式的控制字符,这样就可以在图形上添加希腊字符,数学符号和公式等内容。

在Matlab支持的LaTex字符串中,用/bf,/it,/rm控制字符分别定义黑体、斜体和正体字符,受LaTex字符串控制部分要加大括号{}括起来。

例如,text(0.3,0.5,’theusful{/bfMATLAB}’),将使MATLAB一词黑体显示。

一些常用的LaTex字符见表,各个字符可以单独使用也可以和其他字符及命令配合使用。

如text(0.3,0.5,’sin({/omega}t+{/beta})’)将得到标注效果。

标识符

符号

/alpha

/epsilon

/infty

/beta

/eta

/int

/gamma

/Gamma

/partial

/delta

/Delta

/leftarrow

/theta

/Theta

/rightarrow

/lambda

/Lambda

/downarrow

/xi

/Xi

/uparrow

/pi

/Pi

/div

/omega

/Omega

/times

/sigma

/Sigma

/pm

/phi

/Phi

/leq

/psi

/Psi

/geq

/rho

/tau

/neq

/mu

/zeta

/forall

/nu

/chi

/exists

2.坐标控制

在绘制图形时,Matlab可以自动根据要绘制曲线数据的范围选择合适的坐标刻度,使得曲线能够尽可能清晰的显示出来。

所以,一般情况下用户不必选择坐标轴的刻度范围。

但是,如果用户对坐标不满意,可以利用axis函数对其重新设定。

其调用格式为

axis([xminxmaxyminymaxzminzmax])

如果只给出前四个参数,则按照给出的x、y轴的最小值和最大值选择坐标系范围,绘制出合适的二维曲线。

如果给出了全部参数,则绘制出三维图形。

axis函数的功能丰富,其常用的用法有:

axisequal:

纵横坐标轴采用等长刻度

axissquare:

产生正方形坐标系(默认为矩形)

axisauto:

使用默认设置

axisoff:

取消坐标轴

axison:

显示坐标轴

还有:

给坐标加网格线可以用grid命令来控制,gridon/off命令控制画还是不画网格线,不带参数的grid命令在两种之间进行切换。

给坐标加边框用box命令控制。

和grid一样用法

例:

绘制分段函数,并添加图形标注。

(略)

3.图形保持

一般情况下,每执行一次绘图命令,就刷新一次当前图形窗口,图形窗口原有图形将不复存在,如果希望在已经存在的图形上再继续添加新的图形,可以使用图形保持命令hold。

holdon/off命令是保持原有图形还是刷新原有图形,不带参数的hold命令在两者之间进行切换。

例:

4.图形窗口分割

在实际应用中,经常需要在一个图形窗口中绘制若干个独立的图形,这就需要对图形窗口进行分割。

分割后的图形窗口由若干个绘图区组成,每一个绘图区可以建立独立的坐标系并绘制图形。

同一图形窗口下的不同图形称为子图。

Matlab提供了subplot函数用来将当前窗口分割成若干个绘图区,每个区域代表一个独立的子图,也是一个独立的坐标系,可以通过subplot函数激活某一区,该区为活动区,所发出的绘图命令都是作用于该活动区域。

调用格式:

subplot(m,n,p)

该函数把当前窗口分成m×

n个绘图区,m行,每行n个绘图区,区号按行优先编号。

其中第p个区为当前活动区。

每一个绘图区允许以不同的坐标系单独绘制图形。

三.绘制二维图形的其他函数

1.其他形式的线性直角坐标图

在线性直角坐标中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别为:

bar(x,y,选项) 

选项在单引号中

stairs(x,y,选项)

stem(x,y,选项)

fill(x1,y1,选项1,x2,y2,选项2,…)

前三个函数和plot的用法相似,只是没有多输入变量形式。

fill函数按向量元素下标渐增次序依次用直线段连接x,y对应元素定义的数据点。

例5-8:

分别以条形图、填充图、阶梯图和杆图形式绘制曲线

x=0:

0.35:

7;

y=2*exp(-0.5*x);

subplot(2,2,1);

bar(x,y,'

g'

title('

)'

axis([0,7,0,2]);

subplot(2,2,2);

fill(x,y,'

r'

subplot(2,2,3);

stairs(x,y,'

b'

subplot(2,2,4);

stem(x,y,'

k'

2.极坐标图

polar函数用来绘制极坐标图,调用格式为:

polar(theta,rho,选项)

其中,theta为极坐标极角,rho为极径,选项的内容和plot函数相似。

例5-9:

绘制的极坐标图

theta=0:

0.01:

rho=sin(3*theta).*cos(5*theta);

polar(theta,rho,'

3.对数坐标图

在实际应用中,经常用到对数坐标,Matlab提供了绘制对数和半对数坐标曲线的函数,其调用格式为:

semilogx(x1,y1,选项1,x2,y2,选项2,…)

semilogy(x1,y1,选项1,x2,y2,选项2,…)

loglog(x1,y1,选项1,x2,y2,选项2,…)

这些函数中选项的定义和plot函数完全一样,所不同的是坐标轴的选取。

semilogx函数使用半对数坐标,x轴为常用对数刻度,而y轴仍保持线性刻度。

semilogy恰好和semilogx相反。

loglog函数使用全对数坐标,x、y轴均采用对数刻度。

4.对函数自适应采样的绘图函数

5.其他形式的二维图形

二.三维绘图

(一)绘制三维曲线的基本函数

最基本的三维图形函数为plot3,它将二维绘图函数plot的有关功能扩展到三维空间,可以用来绘制三维曲线。

其调用格式为:

plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…)

其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot的选项一样。

当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线。

当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵的列数。

例513绘制空间曲线

该曲线对应的参数方程为

t=0:

pi/50:

x=8*cos(t);

y=4*sqrt

(2)*sin(t);

z=-4*sqrt

(2)*sin(t);

plot3(x,y,z,'

p'

Linein3-DSpace'

text(0,0,0,'

origin'

xlabel('

X'

ylabel('

Y'

zlabel('

Z'

grid;

(二)三维曲面

1.平面网格坐标矩阵的生成

当绘制z=f(x,y)所代表的三维曲面图时,先要在xy平面选定一矩形区域,假定矩形区域为D=[a,b]×

[c,d],然后将[a,b]在x方向分成m份,将[c,d]在y方向分成n份,由各划分点做平行轴的直线,把区域D分成m×

n个小矩形。

生成代表每一个小矩形顶点坐标的平面网格坐标矩阵,最后利用有关函数绘图。

产生平面区域内的网格坐标矩阵有两种方法:

利用矩阵运算生成。

x=a:

dx:

b;

y=(c:

dy:

d)’;

X=ones(size(y))*x;

Y=y*ones(size(x));

经过上述语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素个数,矩阵Y的每一列都是向量y,列数等于向量x的元素个数。

利用meshgrid函数生成;

y=c:

d;

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

语句执行后,所得到的网格坐标矩阵和上法,相同,当x=y时,可以写成meshgrid(x)

2.绘制三维曲面的函数

Matlab提供了mesh函数和surf函数来绘制三维曲面图。

mesh函数用来绘制三维网格图,而surf用来绘制三维曲面图,各线条之间的补面用颜色填充。

mesh(x,y,z,c)

surf(x,y,z,c)

一般情况下,x,y,z是维数相同的矩阵,x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。

c省略时,Matlab认为c=z,也即颜色的设定是正比于图形的高度的。

这样就可以得到层次分明的三维图形。

当x,y省略时,把z矩阵的列下标当作x轴的坐标,把z矩阵的行下标当作y轴的坐标,然后绘制三维图形。

当x,y是向量时,要求x的长度必须等于z矩阵的列,y的长度必须等于必须等于z的行,x,y向量元素的组合构成网格点的x,y坐标,z坐标则取自z矩阵,然后绘制三维曲线。

例515用三维曲面图表现函数:

为了便于分析三维曲面的各种特征,下面画出3种不同形式的曲面。

%program1

0.1:

[x,y]=meshgrid(x);

z=sin(y).*cos(x);

mesh(x,y,z);

x-axis'

),ylabel('

y-axis'

),zlabel('

z-axis'

mesh'

pause;

%program2

surf(x,y,z);

surf'

%program3

plot3(x,y,z);

plot3-1'

程序执行结果分别如上图所示。

从图中可以发现,网格图(mesh)中线条有颜色,线条间补面无颜色。

曲面图(surf)的线条都是黑色的,线条间补面有颜色。

进一步观察,曲面图补面颜色和网格图线条颜色都是沿z轴变化的。

用plot3绘制的三维曲面实际上由三维曲线组合而成。

可以分析plot(x’,y’,z’)所绘制的曲面的特征。

例516绘制两个直径相等的圆管相交的图形。

m=30;

z=1.2*(0:

m)/m;

r=ones(size(z));

theta=(0:

m)/m*2*pi;

x1=r'

*cos(theta);

y1=r'

*sin(theta);

%生成第一个圆管的坐标矩阵

z1=z'

*ones(1,m+1);

x=(-m:

2:

x2=x'

y2=r'

z2=r'

surf(x1,y1,z1);

%绘制竖立的圆管

axisequal,axisoff

holdon

surf(x2,y2,z2);

%绘制平放的圆管

title('

两个等直径圆管的交线'

holdoff

例517分析由函数构成的曲面形状与平面z=a的交线。

此外,还有两个和mesh函数相似的函数,即带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz,其用法和mesh类似。

不同的是,meshc还在xy平面上绘制曲面在z轴方向的等高线,meshz还在xy平面上绘制曲面的底座。

surf函数也有两个类似的函数,即具有等高线的曲面函数surfc和具有光照效果的曲面函数surfl。

例518在xy平面内选择[-8,8]×

[-8,8]绘制函数,

[x,y]=meshgrid(-8:

0.5:

8);

z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);

meshc(x,y,z);

meshc'

meshz(x,y,z);

meshz'

surfc(x,y,z);

surfc'

surfl(x,y,z);

surfl'

3.标准三维曲面

Matlab提供了一些函数用于绘制标准三维曲面,这些函数可以产生相应的绘图数据,常用于三维图形的演示。

如,sphere函数和cylinder函数分别用于绘制三维球面和柱面。

sphere函数的调用格式为:

[x,y,z]=sphere(n);

该函数将产生(n+1)×

(n+1矩阵x,y,z。

采用这三个矩阵可以绘制出圆心位于原点、半径为1的单位球体。

若在调用该函数时不带输出参数,则直接绘制所需球面。

n决定了球面的圆滑程度,其默认值为20。

若n值取的比较小,则绘制出多面体的表面图。

cylinder函数的调用格式为:

[x,y,z]=cylinder(R,n)

其中R是一个向量,存放柱面各个等间隔高度上的半径,n表示在圆柱圆周上有n个间隔点,默认有20个间隔点。

如:

cylinder(3)生成一个圆柱,cylinder([10,1])生成一个圆锥。

而t=0:

4*pi;

R=sin(t);

cylinder(R,30);

生成一个正弦圆柱面。

另外Matlab还提供了一个peaks函数,称为多峰函数,常用于三维曲面的演示。

该函数可以用来生成绘图数据矩阵,矩阵元素由函数:

在矩形区域[-33]×

[-33]的等分网格点上的函数值确定。

z=peaks(30)

将生成一个30×

30矩阵,

例519绘制标准三维曲面图形

pi/20:

[x,y,z]=cylinder(2+sin(t),30);

subplot(1,3,1);

subplot(1,3,2);

[x,y,z]=sphere;

subplot(1,3,3);

[x,y,z]=peaks(30);

3.其他三维图形。

在介绍二维图形时,曾经提到条形图、杆图、饼图和填充图等特殊图形,它们还可以以三维形式出现,其函数分别为bar3,stem3,pie3和fill3。

bar3绘制三维条形图,常用格式为:

bar3(y);

bar3(x,y)

在第一种格式中,y的每个元素对应于一个条形。

第二种格式在x指定的位置上绘制y中元素的条形图。

stem3函数绘制离散序列数据的三维杆图,常用格式为:

stem3(z)

stem3(x,y,z)

第一种格式将数据序列z表示为从xy平面向上延伸的杆图,x和y自动生成。

第二种格式在x和y指定的位置上绘制数据序列z的杆图,x,y,z的维数要相同。

pie3函数绘制三维饼图,常用格式为:

pie3(x)

x为向量,用x中的数据绘制一个三维饼图。

fill3函数可在三维空间内绘制出填充过的多边形,常用格式为:

fill3(x,y,z,c)

用x,y,z做多边形的顶点,而c指定了填充的颜色。

例520绘制三维图形。

1绘制魔方阵的三维条形图2以三维杆图形式绘制曲线y=2sinx 

3已知x=[2347,1827,2043,3025],绘制三维饼图 

4用随机的顶点坐标值画出5个黄色三角形

bar3(magic(4));

y=2*sin(0:

pi/10:

2*pi);

stem3(y);

pie3([2347,1827,2043

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

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1