MATLAB二维绘图技巧.docx

上传人:b****5 文档编号:6059475 上传时间:2023-01-03 格式:DOCX 页数:19 大小:357.07KB
下载 相关 举报
MATLAB二维绘图技巧.docx_第1页
第1页 / 共19页
MATLAB二维绘图技巧.docx_第2页
第2页 / 共19页
MATLAB二维绘图技巧.docx_第3页
第3页 / 共19页
MATLAB二维绘图技巧.docx_第4页
第4页 / 共19页
MATLAB二维绘图技巧.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

MATLAB二维绘图技巧.docx

《MATLAB二维绘图技巧.docx》由会员分享,可在线阅读,更多相关《MATLAB二维绘图技巧.docx(19页珍藏版)》请在冰豆网上搜索。

MATLAB二维绘图技巧.docx

MATLAB二维绘图技巧

MATLABX维图形绘图入门技巧

、plot函数

l.plot函数的基本应用格式:

plot(x,y)%x,y为长度相同的向量,存储x坐标和y坐标。

绘图时数据需要对应排序好。

例51

>>x=0:

pi/100:

2*pi;

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

>>plot(x,y)

注意:

指数函数和正弦函数之间要用点乘运算,因为二者是向量。

1.5

0.5

-0.5

-1.5

例52

>>t=-pi:

pi/100:

pi;

>>x=t.*cos(3*t);

>>y=t.*sin(t).*sin(t);

>>plot(x,y)

1.5

1

0.5

0

-0.5

-1

-1.5

以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。

2.含多个输入参数的plot函数

plot函

plot函数可以包含若干组向量对,每一组可以绘制出一条曲线。

含多个输入参数的数调用格式为:

plot(x1,y1,x2,y2,…,xn,yn)

如下列命令可以在同一坐标中画出3条曲线。

>>x=linspace(0,2*pi,100);

>>plot(x,sin(x),x,2*sin(x),x,3*sin(x))

-30

2

1

0

-1

-2

1

2

3

4

5

6

7

 

当输入参数有矩阵形式时,数等于矩阵的列数。

>>x=linspace(0,2*pi,100);

>>y1=sin(x);

>>y2=2*sin(x);

>>y3=3*sin(x);

>>x=[x;x;x]';

>>y=[y1;y2;y3]';

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

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

绘制一条余弦曲线。

3]「rqp|

2._

1,-

0・'、\/、・

-1._i

-2.

-3,JLL」-■LI,

01234567

注:

linspace是Matlab中的一个指令,用于产生指定围的指定数量点数,相邻数据跨度相

同,并返回一个行向量。

调用方法:

linspace(x1,x2,N)。

功能:

用于产生x1,x2之间

的N点行矢量,相邻数据跨度相同。

其中x1、x2、N分别为起始值、终止值、元素个数。

若缺省N,默认点数为100。

举例如下:

>>X=Iinspace(5,100,20)%产生从5到100围的20个等分数据

X=

5101520253035404550556065707580859095100

ps:

这和X=[5:

5:

100]的效果是一样的。

3.plot函数画矩阵

利用plot函数可以直接将矩阵的数据绘制在图形窗体中,

此时plot函数将矩阵的每一列数

据作为一条曲线绘制在窗体中。

>>A=pascal(5)

A=

1

1

1

1

1

1

2

3

4

5

1

3

6

10

15

1

4

10

20

35

1

5

15

35

70

>>plot(A)

70

60

50

40

30

20

10

1.522.533.544.55

0

注:

帕斯卡矩阵:

由辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵。

辉三角形表是二次项(x+y)M展开后的系数随自然数n的增大组成的一个三角形表。

如4阶帕斯卡矩阵为:

Pascal(4)=

[1111

1234

13610

141020]

pascal(n)是矩阵实验室(MatrixLaboratory)MATLAB^的命令,利用pascal()命

令可以在矩阵实验室中方便的得到任意阶帕斯卡矩阵。

设A为帕斯卡矩阵,则在MATLAB

命令窗口中输入A=pascal(n),n为正整数,可得到阶数为n的帕斯卡矩阵。

4.plot函数生成的图像设置

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

这些选项如表所示:

线型

颜色

标记符号

-实线

b蓝色

■八、、

s方块

:

虚线

g绿色

字母o圆圈

d菱形

-.点划线

r红色

字母x叉号

V朝下三角符号

--双划线

c青色

+加号

人朝上三角符号

m品红

*星号

<朝左三角符号

y黄色

>朝右三角符号

k黑色

p五角星

w白色

h六角星

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

>>x=(0:

pi/100:

2*pi):

%瞰号表示对矩阵进行转置

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

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

>>x仁(0:

12)/2;

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

>>plot(x,y1,'k:

',x,y2,'b--',x1,y3,'rp');

2

1.5

1

0.5

0

-0.5

-1

-1.5

-2

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

几组例子:

图例

指令

Y=[1,3,6,5,9,0,2];

plot(Y);

X=0:

pi/10:

pi*2;

Y=sin(X);

plot(X,Y);

X=0:

pi/10:

pi*2;丫仁sin(X);

Y2=cos(X);

Plot(X,Y1,X,Y2);

指令

Y=[1,3,6,5,9,0,2];

plot(Y,'r-+');

X=0:

pi/10:

pi*2;

Y=sin(X);

plot(X,Y,'b-.');

X=0:

pi/10:

pi*2;丫仁sin(X);Y2=cos(X);

plot(X,Y1,'r+-',X,Y2,'b-*');

对plot函数生成的图像进行线宽、字体等设置

plot(X1,Y1,LineSpec,'PropertyName',PropertyValue)

对plot生成的图形对象,用指定的properties进行设置。

PropertyName

指定,r,g,b取0和1之间的数值。

LineWidth

线宽

LineStyle

线型

Marker

点标记

MarkerEdgeColor点标记边框的颜色

MarkerFaceColor点标记面积的颜色

MarkerSize

点标记的大小

Color非标准颜色可用[r,g,b]

X=0:

1:

20;

Y=sin(X);

plot(X,Y,'--rs','linewidth',2,'MarkerEdgeColor'

ze',10);

'k','MarkerFaceColor'

'g','MarkerSi

0.8

Cl

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

Ir

If

il・|口b・

2468

10匸1214161820

X=0:

1:

20;

Y=sin(X);

plot(X,Y,'--kx','linewidth',5,'MarkerEdgeColor','b','MarkerFaceColor'

ze',20);

'r','MarkerSi

 

上述函数中的说明文字,除了使用标准的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})')

常用的希腊字母等特殊字符用加拼音如:

后字母大写的,表示是大写(如Q\Omega),小字母的,表示小写(如3\omega)

<<\ll>>\gg

标识符

符号

标识符

符号

标识符

符号

/alpha

/epsilon

£

/ingty

/beta

3

/eta

n

/int

/gamma

Y

/Gamma

r

/partial

/delta

S

/Delta

A

/leftarrow

左箭头

/theta

0

/Theta

/rightarrow

右箭头

/lambda

/Lambda

/downarrow

下箭头

/xi

E

/Xi

S

/uparrow

上箭头

/pi

n

/Pi

n

/div

除号

/omega

3

/Omega

Q

/times

叉乘

/sigma

(T

/Sigma

/pm

+

/phi

/Phi

/leq

<

/psi

/Psi

¥

/geq

>

/rho

/tau

T

/neq

不等于

/mu

/zeta

Z

/forall

/nu

u

/chi

x

/exists

在Matlab中输入上标、下标、特殊符号或字体:

上标用A(指数),下标用_(下划线)

输下标:

_{wb}

输上标:

a{0.5}

调用方式为:

a{任意字符},_{任意字符},注意{}的使用!

figure,title('\zetaA{-t}sint');

壮mt

1r

09-

OB

figure,title('x~{\chi}_{\alpha}A{2}(3)');

、坐标轴设置

1.坐标轴名称

格式:

xlabel(‘string')

Ylabel(‘string')

%分别给x轴和y轴添加标签

2.围设置:

a.

axis([-0.1,8.1,-1.1,

axis([xminxmaxyminymax])设置坐标轴在指定的区间。

1.1]);%坐标轴的显示围

b.axisauto将当前绘图区的坐标轴围设置为MATLAB动调整的区间

c.axismanual冻结当前坐标轴围,以后叠加绘图都在当前坐标轴围显示

d.axistight采用紧密模式设置当前坐标轴围,即以用户数据围为坐标轴围比例。

e.axisequal等比例坐标轴

f.axissquare以当前坐标轴围为基础,将坐标轴区域调整为方格形

g.axisnormal自动调整纵横轴比例,使当前坐标轴围的图形显示达到最佳效果

围选项和比例设置可以联合使用,默认的设置为axisautonormal

h.axisoff;

i.axistight;

%去掉坐标轴

%紧坐标轴

3.坐标轴其他参数设置:

x=-pi/2:

0.01:

pi;

先绘制个基本图形

轴的数据显示围

轴的记号点

plot(x,sin(x))%

%gca:

gca,h=figure(...);

set(gca,'XLim',[-pi/2pi]);%Xset(gca,'XTick',[-pi/2:

pi/4:

pi]);%X

set(gca,'XTick',[]);%消除X轴的记号点

set(gca,'XTickLabel',{'-pi/2''-pi/4:

''O''pi/4''pi/2''pi*3/4”pi'})%X的记号

Roman','FontSize',14,'FontWeight','bold')

注:

gca是用来返回当前axes(坐标图)对象的句柄

plot(rand(2,1))%画一图

set(gca,'xgrid','on')%gca表示当前的图,此时x轴添加了网格线4.坐标轴加网格线和边框

命令控制画还是不画网格线,不带

给坐标加网格线可以用grid命令来控制,gridon/off

参数的grid命令在两种之间进行切换。

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

和grid一样用法

三、图像控制

1.迭加绘图

<1>holdon%保留当前图像与当前坐标轴的属性值,使用后面的图形命令只能在当前存

在的坐标轴中增加图形。

<2>holdoff%

<3>hold%

<4>holdall%

在绘制新图形之前,重新设置坐标轴的属性为默认值,关闭holdon

在on和off之间切换,即在增加图形和覆盖图形之间切换。

保留当前颜色和线型,在绘制随后的图形时使用当前颜色和线型。

2.清空图像

clf%清除所有当前图像窗口

3.图名

4.

4.图片大小以及线宽和字号命令

(以上几个将图例标识放在框图外)

'Best'图标标识放在图框不与图冲突的最佳位置

'BestOutside'图标标识放在图框外使用最小空间的最佳位置

还是用上面的例子

legend('sin','cos','location','northwest')可以将标识框放置在图的左上角。

6.多子图

在同一图形框布置几幅独立的子图。

格式:

subplot(m,n,k)%将一个图形窗口分成m*n个小窗口(子图),k是子图的编号

序号原则是:

左上方的为第一幅,然后向右、向下依次排好。

subplot(‘Position',[leftbottomwidthheight])坐标轴。

x=-4:

0.1:

4;

subplot(2,2,1);

y1=1/sqrt(2*pi)*exp(-1/2*x.A2),

plot(x,y1);

xlabel('变量x'),ylabel('变量密度y'),title('

subplot(2,2,2);

y2=1/sqrt(2*pi)/2*exp(-1/2/4*x.A2),

plot(x,y2);

xlabel('变量x'),ylabel('概率密度y')

title('正太分布N(0,4)');

subplot(2,2,3);

y3=1/sqrt(2*pi)/0.5*exp(-1/2/(0.5A2)*(x-1).A2);plot(x,y3);

xlabel('变量x'),ylabel('概率密度y'),title('subplot(2,2,4);

y4=1/sqrt(2*pi)/0.5*exp(-1/2/(0.5A2)*(x+1).A2),

plot(x,y4)

xlabel('变量x'),ylabel('概率密度y'),title('

%在由4个元素指定的位置上创建

正太分布N(0,1)');

正太分布N(1,1/4)');

正太分布N(-1,1/4)')

 

OA

0.3

02

01

0

4

正太片布叫0月

-202

正东分布Hi3)

*202

OBr

04

02

7.多个图形窗口

6G4zoGGQ

格式:

Figure(n)%创建新的图形窗口或显示当前图形窗口。

口的编号,figure

(1)是默认值,不需要声明。

n是这个窗

>>t=-4:

0.1:

4;x=sin(t);plot(t,x,'b")

>>t=-4:

0.1:

4;x=sin(t);plot(t,x,'bA')

>>xlabel('t');ylabel('x');title('

>>figure

(2)

>>y=cos(t);plot(t,y,'kp');

>>xlabel('t');ylabel('y');title('

>>figure(3)

函数x=sint的图形');

函数y=cost的图形');

>>z=sin(t).*cos(t);plot(t,z,'kh')

 

bU曹

融計蠶=frrtf@K-

iSfe—

A

D

12G_IGl|_S_l

EURJ£iewJnseHJocJsQeikfcp脸品Hf-lp・

□til

d丄$…gQ□□

||

到H|^C4ft60團黑

/\

t

tt

■»

a世

fr■

**

■•

・・

11

ft■

irt

i宝

4)5

t1T

aii

i

w离*

|

v\.v

j

1402J

5

0

 

 

8.text函数

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

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

text(3.5,0.6,'曲线比较');

x=[1.6*pi,1.6*pi];y=[-0.3,0.8];

s=['曲线cos';'曲线sin'];text(x,y,s);

 

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

当前位置:首页 > 高等教育 > 文学

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

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