当前位置:文档之家› MATLAB画图函数plot应用大全.docx

MATLAB画图函数plot应用大全.docx

MATLAB图像生成函数Plot ()总结一、基本形式(1)» y=[0 0.58 0.70 0.95 0.83 0.25];» plot(y)生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。

(2)» x=linspace(0,2*pi,30); %生成一组线性等距的数值» y=si n(x);»plot(x,y)生成的图形是上30个点连成的光滑的正弦曲线。

二、多重线(1)在同一个画面上可以画许多条曲线,只需多给出几个数组:» x=0:pi/15:2*pi;» yl=si n(x);» y2=cos(x);»plot(x,yl,x/y2)(2)利用hold命令。

在已经画好的图形上,若设置hold on, MATLA 将把新的plot命令产生的图形画在原来的图形上。

而命令hold off将结束这个过程。

例如:» x=linspace(0,2*pi,30); y=sin(x); plot(x,y)» hold on» z=cos(x); plot(x,z)» hold off三、线型和颜色MATLAB对曲线的线型和颜色有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下:(1)线型线方式:・实线:点线虚点线--波折线。

(2)线型点方式:•圆点+加号*星号xx形o小圆(3)颜色:y黄;r红;g绿;b蓝;w 口;k黑;m紫;c青. 以下面的例子说明用法:» x=0:pi/15:2*pi;» yl=sin(x); y2=cos(x);»plot(x/yl/b:+;x/y2;g-.*/)四、改变坐标轴(1)网格和标记在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。

» x=linspace(0/2*pi/30); y=sin(x); z=cos(x);»plot(x,y,x,z)»grid»xlabel(1ndependent Variable X')»ylabel(z Dependent Variables Y and Z‘)»title(z Sine and Cosine Curves')(2)在坐标轴加字符:»text(2.5,0.7/sinx,)表示在坐标x=2.5, y=0.7处加上字符串sinxo更方便的是用鼠标来确定字符串的位置,方法是输入命令:>>gtext('sinx‘)在图形窗口十字线的交点是字符串的位置,用鼠标点一下就可以将字符串放在那里。

(3)坐标系的控制在缺省情况下MATLAB 口动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有:axis([xminxmaxyminymax])[冲分别给出x轴和y轴的最大值、最小值axis equal或axis( 'equal' )x轴和y轴的单位长度相同axis square 或axis( "square')图框呈方形axis off或axis( 'off')清除坐标刻度还有axis auto axis image axis xy axis ij axis normal axis on axis(axis)用法可参考在线帮助系统。

五、多幅图形(1)可以在同一个画面上建立几个坐标系,用subplot(m,n,p)命令;把二个画而分成mXn个图形区域,p代表当前的区威号,在每个区域中分别画一个图,如» x=linspace(0,2*pi/30); y=sin(x); z=cos(x);» u=2*sin(x).*cos(x); v=sin(x)./cos(x);» subplot(2,2,l),plot(x,y),axis([0 2*pi -1 l]),title('sin(x)‘)» subplot(2,2/2)/plot(x/z)/axis([0 2*pi -1 l]),title(/cos(x)/)» subplot(223),plot(x,u),axis([0 2*pi -1 l]),title(/2sin(x)cos(x)/)» subplot(2,乙4),plot(x,v),axis([0 2*pi -20 20])‘title('sin(x)/cos(x)‘)(2)图形的输出在数学建模屮,往往需要将产生的图形输出到Word文档屮。

通常可采用下述方法:首先,在MATLAB图形窗口屮选择[File]菜单屮的【Export]选项,将打开图形输出对话框,在该对话框中口J以把图形以emf、bmp、jpg、pgm 等格式保存。

然后,再打开相应的文档,并在该文档中选择【插入】菜单屮的【图片】选项插入相应的图片即可。

基本xy平面绘图命令MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization )o本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制、列印及存档。

plot是绘制一维曲线的基本函数,但在使用此函数Z前,我们需先定义曲线上每一点的x及y座标。

下例可画出一条正弦曲线:close all; x=linspace(0, 2*pi, 100); % 100 个点的x 座标y=sin(x); %对应的y座标plot(x,y);小整理:MATLAB基木绘图函数plot: x轴和y轴均为线性刻度(Linear scale) loglog: x轴和y轴均为对数刻度(Logarithmic scale) semilogx: x轴为对数刻度,y轴为线性刻度semilogy: x轴为线性刻度,y轴为对数刻度若要画出多条曲线,只需将座标对依次放入plot函数即可:plotfx, sin(x), x, cos(x));若要改变颜色,在座标对後面加上相关字串即可: plot(x, sin(x)「c‘,x, cos(x), U);若要同时改变颜色及图线型态(Line style),也是在座标对後面加上相关字串即可:plot(x, sin(x), 'co\ x, cos(xk 'g*'):图形完成後,我们可用axis([xmin,xmax,ymin,ymax])i^|数来调整图轴的范围:axis([O, 6,-1.2? 1.21);0 1 2 3 4 5 6此外,MATLAB也可对图形加上各种注解与处理:xlabefl nput Value1); % x 轴注解ylabel(*Function Value'); % y轴注解title('TwoTrigonometric Functions1); % 图形标题legend('y = sin(x)';y = cos(x)*); % 图形注解grid on; %显示格线我们可用subplot来同时画出数个小图形於同一个视窗之中:subplot(2,2,].); plot(x, sin(x));subplot(2/2/2); plot(x, cos(x));subplot(2,2,3); plot(x, sinh(x));subplot(2,2,4); plot(x, cosh(x));MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。

以下我们针对每个函数举例。

当资料点数量不多时,长条图是很适合的表示方式:close all; %关闭所有的图形视窗x=l:10;y=ra nd(size(x));bar(x,y);如果已知资料的误差量,就可用errorbar来表示。

下例以单位标准差来做资料的误差量:x 二linspace(0,2*pi,30);y = sin(x);e 二std(y)*ones(size(x));errorbar(x,y,e)对於变化剧烈的函数,可用fplot来进行较精确的绘图,会对剧烈变化处进行较密集的取样,如下例:fplot('sin(l/x):[0.02 0.2]); % [0.02 0.2]是绘图范围若要产生极座标图形,可W polar:theta二linspace© 2*pi); r=cos(4*theta); polar(theta, r);对於大量的资料,我们可用hist来显示资料的分情况和统计特性。

下面几个命令可用来验证randn产生的高斯乱数分:x二randn(5000, 1); %产生5000 个二0, 二1 的高斯乱数hist(x,20); % 20代表长条的个数rose和hist很接近,只不过是将资料大小视为角度,资料个数视为距离,并用极座标绘制表示:x=ra ndn (1000, 1);rose(x);stairs可画出阶梯图:x=linspace(0,10,50);y=sin(x).*exp(-x/3);stairs(x,y);stems可产生针状图,常被用來绘制数位讯号: x=li nspace(0,10,50);y=sin(x).*exp(-x/3);stem(x,y);feather 将每一个资料点视复数,并以箭号画出: theta 二linspace(O, 2*pi, 20);z = cos(theta)+i*si n(theta);feather(z);stairs 将资料点视为多边行顶点,并将此多边行涂上颜色:x=linspace(0,10,50);y=sin(x).*exp(-x/3);fill(x,y/b ,); % 'b 1 为蓝色0.8■°-4o0.80 2 4 6 8 100.60.40.2-0.22 4 6 8compass和feather很接近,只是毎个箭号的起点都在圆点: theta二linspace(0, 2*pi, 20);z = cos(theta)+i*si n(theta);compass(z);Specifying Tick-Mark Location and LabelingYou can adjust the axis tick-mark locations and the labels appearing at each tick. For example, this plot of the sine function relabels the x-axis with more meaningful values:x = -pi:>l:pi;y = sin(x);Plot(x,y)set(gca/XTick,,-pi:pi/2:pi)set(gca/XTickLabel:{LpiT・pi/2T0Tpi/2Tpi'})。

相关主题