实验四 MATLAB 二维绘图的基本操作

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四 MATLAB 二维绘图的基本操作

一、实验目的

通过图形可以从一堆杂乱的数据中观察数据间的内在关系,感受由图形所传递的内在本质。本实验主要练习并掌握二维曲线绘图的基本操作。

Time(seconds)M a k e s p a n

二、实验内容

在了解了 MATLAB 的矩阵和向量概念与输入方法之后,MA TLAB 的二维绘图就再简单不过了。假设有两个同长度的向量 x 和 y, 则用 plot(x,y) 就可以自动绘制画出二维图来。如果打开过图形窗口,则在最近打开的图形窗口上绘制此图,如果未打开窗口,则开一个新的窗口绘图。

〖例〗正弦曲线绘制,在命令窗口依次输入如下指令:

>> t=0:.1:2*pi; %生成横坐标向量,使其为 0,0.1,0.2,...,6.2

>> y=sin(t); % 计算正弦向量

>> plot(t,y) %绘制图形

这样立即可以得出如下图所示的二维图:

1

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1

plot 函数还可以同时绘制出多条曲线,其调用格式和前面不完全一致,但也好理解。在命令窗口接着输入:

>> y1=cos(t);

>>plot(t,[y; y1]), 即输出为两个行向量组成的矩阵。

所得图形如下:

1

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1

★plot 的基本调用格式:plot(x1,y1,选项1, x2,y2, 选项2, x3,y3, 选项3, ...),其中所有的选项如表4.1 所示。一些选项可以连用,如'-r' 表示红色实线。

练习:

>> plot(x,y,'--')

>> plot(x,y,'b')

>> plot(x,y,'r')

>> plot(x,y,'o')

由MA TLAB 绘制的二维图形可以由下面的一些命令简单地修饰。如

grid ——加网格线

xlabel('字符串') ——给横坐标轴加说明

ylabel('字符串') ——给纵坐标轴加说明,并自动旋转90 度

title('字符串') ——给整个图形加标题

axis([xmin xmax ymin ymax])——手动地设置x,y 坐标轴范围

plotyy 函数——绘制具有两个纵坐标刻度的图形

坐标系的分割在MA TLAB 图形绘制中是很有特色的,比较规则的分割方式是用subplot函数定义的,其标准调用格式为:subplot(n,m,k),其中,n 和m 为将图形窗口分成的行数和列数,而k 为相对的编号。例如在标准的Bode 图绘制中需要将窗口分为上下两个部分(即n=2, m=1), 分割后上部编号为1,下部编号为2。

【例1】离散数据和离散函数的可视化——用图形表示离散函数y = 1/|n -6|

>>n=(0:12)';

y=1./abs(n-6);

plot(n,y,'r*','MarkerSize',10)

grid on

Warning: Divide by zero.

【例2】连续函数的可视化——用图形表示连续调制波形y = sin(t)sin(9t)。

t1=(0:11)/11*pi;

y1=sin(t1).*sin(9*t1);

t2=(0:100)/100*pi;

y2=sin(t2).*sin(9*t2);

subplot(2,2,1),plot(t1,y1,'r.'),axis([0,pi,-1,1]),title('子图(1)')

subplot(2,2,2),plot(t2,y2,'r.'),axis([0,pi,-1,1]),title('子图(2)')

subplot(2,2,3),plot(t1,y1,t1,y1,'r.')

axis([0,pi,-1,1]),title('子图(3)')

subplot(2,2,4),plot(t2,y2)

axis([0,pi,-1,1]),title('子图(4)')

子图 (1)

子图 (3)子图 (4)

【例3】二维曲线绘图基本指令演示。请在练习完本例后,再试验plot(t), plot(Y), plot(Y,t) ,

以观察产生图形的不同。

t=(0:pi/50:2*pi)';

k=0.4:0.1:1;

Y=cos(t)*k;

plot(t,Y)

Time(s)V a l u e

子图 (1)

子图 (3)

【例 4】用图形表示连续调制波形 y = sin(t)sin(9t) 及其包络线。

t=(0:pi/100:pi)';

32

y1=sin(t)*[1,-1];

y2=sin(t).*sin(9*t);

t3=pi*(0:9)/9;

y3=sin(t3).*sin(9*t3);plot(t,y1,'r:',t,y2,'b',t3,y3,'bo')

axis([0,pi,-1,1])

-1

-0.5

0.5

1

子图 (1)

-1

-0.5

0.5

1

-1

-0.5

0.5

1

子图 (3)

-1

-0.5

0.5

1

【例5】采用模型

画一组椭圆。

th = [0:pi/50:2*pi]';

a = [0.5:.5:4.5];

X = cos(th)*a;

Y = sin(th)*sqrt(25-a.^2);

plot(X,Y)

axis('equal')

xlabel('x'), ylabel('y')

title('A set of Ellipses')

-1

-0.5

0.5

1

-1

-0.5

0.5

1

-1

-0.5

0.5

1

x

y

A set of Ellipses

【例6】观察各种轴控制指令的影响。演示采用长轴为 3.25,短轴为1.15 的椭圆。注意:采用多子图表现时,图形形状不仅受“控制指令”影响,而且受整个图面“宽高比”及“子图数目”的影响。本书这样处理,是出于篇幅考虑。读者欲想准确体会控制指令的影响,请在全图状态下进行观察。

t=0:2*pi/99:2*pi;

x=1.15*cos(t);y=3.25*sin(t);

subplot(2,3,1),plot(x,y),axis normal,grid on,

title('Normal and Grid on')

subplot(2,3,2),plot(x,y),axis equal,grid on,title('Equal')

subplot(2,3,3),plot(x,y),axis square,grid on,title('Square')

相关文档
最新文档