实验四 MATLAB 二维绘图的基本操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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')