不论是在科研工作中,还是在实际工程应用中,常常会对数据进行处理,并且将处理的数据在二维图形中显示出来,MATLAB平台提供了很多关于二维图形绘制与控制相关的函数,利用这些函数可以很方便的实现二维图形的绘制和控制,本节对二维图形相关的函数进行讲解:
工具/原料
二维图形绘制
matlab
方法/步骤
1、调用plot函数来绘制二维曲线图,调用格式如下:plot(x1,y龀音孵茧1’PropertyName颠疤祢绘’,’PropertyValue’...);其中PropertyName表示属性名,可以是颜色,线型,线宽等属性,PropertyValue表示属性值,对应属性名所包含的各种属性值。实例:clearall;x=0:pi/30:4*pi;y1=cos(x);y2=sin(x);subplot(2,2,1)plot(x,y1);title('余弦曲线');x2=magic(5);subplot(2,2,2)plot(x2);%%绘制向量图形%%title('绘制向量图形');subplot(2,2,3)plot(x,y1,'*');title('对图形进行标识');subplot(2,2,4)plot(x,y1,'r*',x,y2,'go')title('绘制多条曲线');程序运行结果如下图
2、极坐标轴函数loglog用于绘制双对数坐标轴图像,similogx用于绘制对数x轴图像,similogy用于绘制对数y轴图像:示例:clearall;x1=logspace(-2,3);y1=exp(x1);subplot(1,3,1)loglog(x1,y1,'r');title('loglog函数绘图');x2=0:0.5:20;subplot(1,3,2)semilogx(10.^x2,x2,'go');title('semilogx函数绘图');subplot(1,3,3);semilogy(x2,10.^x2,'b*');title('semilogy函数绘图');程序运行结果如下图:
3、文字说明函数title(‘text’):在图形顶端中间位置输出字符串为text作为标题,xlabel(‘text’),ylabel(‘text’)分别表示在x轴和y轴中间位置输出字符串作为标注示例:clearall;t=0:0.2:2*pi;y1=exp(-0.5*t)*1;y2=-exp(-0.5*t)*1;y3=exp(-0.5*t).*sin(2*pi*t);plot(t,y1,'r',t,y2,'b',t,y3,'k');xlabel('x的数据');ylabel('y的数据');title('曲线及其包络线绘制');gridon;程序运行结果如下图:
4、坐标轴设置:axis([xminxmaxyminymax]):设置当前坐标轴x轴和y轴的取值范围axisauto:根据数据自动计算当前坐标轴范围axissquare:设置当前坐标轴为正方形示例:clearall;t=0:0.02:pi/2;subplot(1,3,1)plot(sin(t),cos(t),'r');%%绘制图形%%axisauto;title('自定义坐标轴范围')subplot(1,3,2)plot(sin(t),cos(t),'r');%%绘制图形%%axis([-12-22]);title('设置特定坐标轴范围')subplot(1,3,3)plot(sin(t),cos(t),'r');%%绘制图形%%axissquare;title('设置正方形坐标轴范围');程序运行结果如下图:
5、格栅当图形要求对具体数值有更加清晰的展示时,为图形添加格栅是非常有效的方法,在matlab中通过调用gridon和gridoff函数来添加格栅或者删除格栅。示例:clearall;x=linspace(0,20);y1=cos(x);y2=cos(5*x);subplot(1,2,1)plot(x,y1);subplot(1,2,2)plot(x,y2);gridon;程序运行结果如下图:
6、多个图像的绘制在实际应用我们需要保留原来的图像,同时绘制新的曲线,matlab中调用holdon和holdoff函数分别来表示保留原来的图像不被刷新,不保留原来的图像示例:clearall;t=-2*pi:pi/10:2*pi;y1=sin(t);y2=cos(t);plot(t,y1,'r');holdon;plot(t,y2,'b');title('先后正弦曲线和余弦曲线');程序运行结果如下图:
7、子兔脒巛钒图绘制Matlab允许用户在一个窗口中同时显示多个图形,这时需要调用subplot函数,其调用格式subplot(m,n,p),m表示图形行数,n表示图形列数,p表示图形的顺序姨胀兽辱示例:clearall;x=0:pi/20:4*pi;y1=sin(x);y2=cos(x);y3=sin(x)+cos(x);y4=exp(-2*x);subplot(2,2,1)plot(x,y1,'r');title('正弦曲线');subplot(2,2,2)plot(x,y2,'b');title('余弦曲线')subplot(2,2,3)plot(x,y3,'k');title('正弦和余弦之和曲线')subplot(2,2,4)plot(x,y4,'g');title('指数曲线');程序运行结果如下图: