您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > Matlab绘图知识
Matlab绘图知识作为一个功能强大的工具软件,Matlab具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即常方便又高效。4.1二维图形一、plot函数函数格式:plot(x,y)其中x和y为坐标向量函数功能:以向量x、y为轴,绘制曲线。【例1】在区间0≤X≤2内,绘制正弦曲线Y=SIN(X),其程序为:x=0:pi/100:2*pi;y=sin(x);plot(x,y)【例2】同时绘制正、余弦两条曲线Y1=SIN(X)和Y2=COS(X),其程序为:x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2)plot函数还可以为plot(x,y1,x,y2,x,y3,…)形式,其功能是以公共向量x为X轴,分别以y1,y2,y3,…为Y轴,在同一幅图内绘制出多条曲线。4.1二维图形一、plot函数(一)线型与颜色格式:plot(x,y1,’cs’,...)其中c表示颜色,s表示线型。4.1二维图形一、plot函数【例3】用不同线型和颜色重新绘制例4.2图形,其程序为:x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,'go',x,y2,'b-.')其中参数'go'和'b-.'表示图形的颜色和线型。g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。(二)图形标记在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。title(‘加图形标题');xlabel('加X轴标记');ylabel('加Y轴标记');text(X,Y,'添加文本');4.1二维图形一、plot函数(三)设定坐标轴用户若对坐标系统不满意,可利用axis命令对其重新设定。axis([xminxmaxyminymax])设定最大和最小值axis(’auto’)将坐标系统返回到自动缺省状态axis(’square’)将当前图形设置为方形axis(’equal’)两个坐标因子设成相等axis(’off’)关闭坐标系统axis(’on’)显示坐标系统4.1二维图形一、plot函数【例4】在坐标范围0≤X≤2π,-2≤Y≤2内重新绘制正弦曲线,其程序为:x=linspace(0,2*pi,60);生成含有60个数据元素的向量Xy=sin(x);plot(x,y);axis([02*pi-22]);设定坐标轴范围4.1二维图形一、plot函数(四)加图例给图形加图例命令为legend。该命令把图例放置在图形空白处,用户还可以通过鼠标移动图例,将其放到希望的位置。格式:legend('图例说明','图例说明');4.1二维图形一、plot函数【例5】为正弦、余弦曲线增加图例,其程序为:x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2,'--');legend('sin(x)','cos(x)');(一)subplot(m,n,p)该命令将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。4.1二维图形二、subplot函数【例6】在一个图形窗口中同时绘制正弦、余弦、正切、余切曲线,程序为:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);eps为系统内部常数ct=cos(x)./(sin(x)+eps);subplot(2,2,1);分成2×2区域且指定1号为活动区plot(x,y);title('sin(x)');axis([02*pi-11]);subplot(2,2,2);plot(x,z);title('cos(x)');axis([02*pi-11]);subplot(2,2,3);plot(x,t);title('tangent(x)');axis([02*pi-4040]);subplot(2,2,4);plot(x,ct);title('cotangent(x)');axis([02*pi-4040]);4.1二维图形二、subplot函数(二)多图形窗口需要建立多个图形窗口,绘制并保持每一个窗口的图形,可以使用figure命令。每执行一次figure命令,就创建一个新的图形窗口,该窗口自动为活动窗口,若需要还可以返回该窗口的识别号码,称该号码为句柄。句柄显示在图形窗口的标题栏中,即图形窗口标题。用户可通过句柄激活或关闭某图形窗口,而axis、xlabel、title等许多命令也只对活动窗口有效。4.1二维图形二、subplot函数重新绘制上例4个图形,程序变动后如下:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps);H1=figure;创建新窗口并返回句柄到变量H1plot(x,y);绘制图形并设置有关属性title('sin(x)');axis([02*pi-11]);H2=figure;创建第二个窗口并返回句柄到变量H2plot(x,z);绘制图形并设置有关属性title('cos(x)');axis([02*pi-11]);H3=figure;同上plot(x,t);title('tangent(x)');axis([02*pi-4040]);H4=figure;同上plot(x,ct);title('cotangent(x)');axis([02*pi-4040]);4.1二维图形二、subplot函数(三)hold命令若在已存在图形窗口中用plot命令继续添加新的图形内容,可使用图形保持命令hold。发出命令holdon后,再执行plot命令,在保持原有图形或曲线的基础上,添加新绘制的图形。4.1二维图形二、subplot函数阅读如下程序:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);plot(x,y,'b');绘制正弦曲线holdon;设置图形保持状态plot(x,z,'g');保持正弦曲线同时绘制余弦曲线axis([02*pi-11]);legend('cos','sin');holdoff关闭图形保持4.1二维图形二、subplot函数三、函数f(x)曲线fplot函数则可自适应地对函数进行采样,能更好地反应函数的变化规律。fplot函数格式:fplot(fname,lims,tol)其中fname为函数名,以字符串形式出现,lims为变量取值范围,tol为相对允许误差,其其系统默认值为2e-3。例:fplot(‘sin(x)’,[02*pi],’-+’)fplot(‘[sin(x),cos(x)]’,[02*pi],1e-3,’·’)同时绘制正弦、余弦曲线4.1二维图形为绘制f(x)=cos(tan(πx))曲线,可先建立函数文件fct.m,其内容为:functiony=fct(x)y=cos(tan(pi*x));用fplot函数调用fct.m函数,其命令为:fplot(‘fct’,[01],1e-4)4.1二维图形三、函数f(x)曲线4.2特殊坐标图形一、对数坐标图形(一)loglog(x,y)双对数坐标【例7】绘制y=|1000sin(4x)|+1的双对数坐标图。程序为:x=[0:0.1:2*pi];y=abs(1000*sin(4*x))+1;loglog(x,y);双对数坐标绘图命令(二)单对数坐标以X轴为对数重新绘制上述曲线,程序为:x=[0:0.01:2*pi]y=abs(1000*sin(4*x))+1semilogx(x,y);单对数X轴绘图命令同样,可以以Y轴为对数重新绘制上述曲线,程序为:x=[0:0.01:2*pi]y=abs(1000*sin(4*x))+1semilogy(x,y);单对数Y轴绘图命令4.2特殊坐标图形二、极坐标图函数polar(theta,rho)用来绘制极坐标图,theta为极坐标角度,rho为极坐标半径【例8】绘制sin(2*θ)*cos(2*θ)的极坐标图,程序为:theta=[0:0.01:2*pi];rho=sin(2*theta).*cos(2*theta);polar(theta,rho);绘制极坐标图命令title('polarplot');4.2特殊坐标图形4.3其它图形函数除plot等基本绘图命令外,Matlab系统提供了许多其它特殊绘图函数,这里举一些代表性例子,更详细的信息用户可随时查阅在线帮助,其对应的M-file文件存放在系统\matlab\toolbox\matlab目录下。4.3其它图形函数一、阶梯图形函数stairs(x,y)可以绘制阶梯图形,如下列程序段:x=[-2.5:0.25:2.5];y=exp(-x.*x);stairs(x,y);绘制阶梯图形命令title('stairsplot');4.3其它图形函数4.3其它图形函数二、条形图形函数bar(x,y)可以绘制条形图形,如下列程序段将绘制条形图形x=[-2.5:0.25:2.5];y=exp(-x.*x);bar(x,y);绘制条形图命令4.3其它图形函数4.3其它图形函数三、填充图形fill(x,y,’c’)函数用来绘制并填充二维多边图形,x和y为二维多边形顶点坐标向量。字符’c’规定填充颜色,其取值前已叙述。下述程序段绘制一正方形并以黄色填充:4.3其它图形函数4.3其它图形函数x=[01100];正方形顶点坐标向量y=[00110];fill(x,y,'y');绘制并以黄色填充正方形图再如:x=[0:0.025:2*pi];y=sin(3*x);fill(x,y,[0.50.30.4]);颜色向量Matlab系统可用向量表示颜色,通常称其为颜色向量。基本颜色向量用[rgb]表示,即RGB颜色组合;以RGB为基本色,通过r,g,b在0~1范围内的不同取值可以组合出各种颜色。4.3其它图形函数二维绘图函数小结plot二维图形基本函数fplotf(x)函数曲线绘制fill填充二维多边图形polar极坐标图bar条形图loglog双对数坐标图semilogxX轴为对数的坐标图semilogyY轴为对数的坐标图stairs阶梯形图axis设置坐标轴clf清除图形窗口内容close关闭图形窗口figure创建图形窗口grid放置坐标网格线gtext用鼠标放置文本hold保持当前图形窗口内容subplot创建子图text放置文本title放置图形标题xlabel放置X轴坐标标记ylabel放置Y轴坐标标记4.3其它图形函数4.4三维图形一、plot3函数最基本的三维图形函数为plot3,它是将二维函数plot的有关功能扩展到三维空间,用来绘制三维图形。函数格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,…)其中x1,y1,z1…表示三维坐标向量,c1,c2…表示线形或颜色。函数功能:以向量x,y,z为坐标,绘制三维曲线。【例9】绘制三维螺旋曲线,其程序为:t=0:pi/50:10*pi;y1=sin(t),y2=cos(t);plot3(y1,y2,t);title('helix'),text(0,0,0,'origin');xlabel('sin(t)'),ylabel('cos(t)'),zlabel('t');grid;4.4三维图形二、mesh函数mesh函数用于绘制三维网格图。在不需要绘制特别精细的三维曲面结构图时,可以通过绘制三维网格图来表示三
本文标题:Matlab绘图知识
链接地址:https://www.777doc.com/doc-4886145 .html