MATLAB的二维作图功能分析
2012-01-04甄海燕
甄海燕
(山东商业职业技术学院 基础部数学教研室,山东 济南 250103)
MATLAB的二维作图功能分析
甄海燕
(山东商业职业技术学院 基础部数学教研室,山东 济南 250103)
MATLAB(Matrix Laboratory的简称)是美国MathWorks公司出品的商业数学软件,它己成为科学研究、工程计算、应用开发的重要工具。MATLAB有强大的作图功能,对MATLAB的二维作图功能进行分析总结是为了供教学参考和学生学习之用。
MATLAB;plot;作图命令
MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB拥有大量简单、应用的二三维作图命令,本文主要对MATLAB的二维作图功能进行分析总结以供教学参考和学生学习之用。
1.基本绘图命令plot:
格式1 plot(y),功能:以向量y的元素序号为横坐标,以y对应元素为纵坐标绘制二维图像。
例1:y=[5,6,8,6,4,3];plot(y)(图1)
格式2 plot(x,y),功能:以向量x,y的对应元素为坐标绘制二维图像。
例2:x=0:pi/30:2*pi;y=sin(x);plot(x,y)(图2)
图1
图2
格式3 plot(x,y,’选项’),功能:按选项功能要求,以向量x,y的对应元素为坐标绘制二维图像。其中’选项’可指定。如表1。
表1
另外:
(1)LineWidth(线条宽度):指定线条宽度,如‘Line-Width’3表示线宽为3个单位。
(2)MarkerSize(标记大小):指定标记符号的大小,如‘MarkerSize’10。
(3)MarkerFaceColor(标记符面填充颜色):指定用于填充标记符面的颜色。
(4)MarkerEdgeColor(标记框颜色):指定标记符周边框的颜色。
例3:x=0:pi/30:2*pi;y=sin(x);
plot(x,y,’-bo’,’linewidth’,4,’markeredgecolor’,’k’,’markerfacecolor’,’r’,’markersize’,12)。(图3)
图3
以上图形是一条蓝色实线型,线的粗细为4号,每一个节点处有“圆圈”做标记,标记的边缘为黑色,标记的符面是红色。标记的大小为12号。
2.多重线画法
在同一个画面上可以画许多条曲线。绘制方法有多种。下面介绍两种。
方法一:利用plot的多变量方式绘图。
格式:plot(x1,y1,’选项1’,x2,y2,’选项2’,…xn,yn,’选项n’)
例4:x=0:pi/30:2*pi;
y1=sin(x);y2=cos(x);
plot(x,y1,’b:+’,x,y2,’r-.*’)(图4)
图4
方法二:hold on,hold off命令。
利用hold on保持窗口图形,等待添加新的曲线,所有图形添加完成后,利用hold off完成并结束绘图状态。
例5:x=0:pi/30:2*pi;
y1=sin(x);
plot(x,y1,’b:+’)
hold on
y2=cos(x);
plot(x,y2,’r-.*’)
hold off (同图4)
3.在同一窗口出现多幅图形
Matlab提供了subplot命令可以实现把多幅图形放在同一个窗口。调用格式为subplot(m,n,p)。此命令本身并不绘制图形,它只是将图形窗口分割成m行n列共m* n个子窗口,子窗口从左到右,由上至下进行编号,p表示当前窗口。
例6:x=linspace(0,2*pi,30);
y1=sin(x);y2=sin(2*x);y3=sin(3*x);y4=sin (4*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);(图5)
图5
4.常用辅助命令
一副完整的图形除坐标轴、曲线外,还应在图形中包括数据单位、标题,对多重曲线图还应给出图例说明等。在一个图形上可以加标题、x轴标记、y轴标记、图例等。用一下命令完成这些工作。
title(‘字符串’)——图形标题。
xlable(‘字符串’)——x轴坐标轴标注。
ylable(‘字符串’)——y轴坐标轴标注。
text(x,y,’字符串或表达式’)——在指定图形坐标位置添加字符串或表达式。
gtext(‘字符串或表达式’)移动鼠标指针至指定图形坐标位置添加字符串或表达式。
legend(‘字符串1’,‘字符串2’,…)——给图形添加图例。
例7:x=0:pi/30:2*pi;y1=sin(x);y2=cos(x);
plot(x,y1,’b:+’,x,y2,’r-.*’)
xlabel(‘x轴’)
ylabel(‘y轴’)
title(‘正、余弦图像’)
legend(‘cos(x)’,’sin(x)’)(图6)
图6
另外,Matlab提供了一系列特殊坐标系的二维图形命令,如semilogx命令similogy,loglog命令等,具体调用格式与plot命令完全类似,其中利用semilogx画出的图形的x轴坐标为对数坐标、similogy画出的图形的y轴坐标为对数坐标、loglog为双对数坐标。读者可以根据plot的各种命令对应举例,在此不再一一说明。
[1]杨启帆.数学建模[M].北京:高等教育出版社,2006.
[2]张珠宝.数学建模与数学实验[M].北京:高等教育出版社,2005.
[3]黄琼香.MATLAB作图函数的总结与分析[J].高等理科教育,2005(6):40-42.
TP317.4
A
1008—3340(2012)02—0060—02
2012-02-18
甄海燕(1980-),女,山东鱼台人,山东商业职业技术学院基础部数学教研室教师,讲师,硕士研究生,研究方向为数学课程与教学论。