matlab二维图形绘制相关函数介绍
1、调用plot函数来绘制二维曲线图,调用格式如下:
plot(x1,y1’PropertyName’,’PropertyValue’...);
其中PropertyName表示属性名,可以是颜色,线型,线宽等属性,PropertyValue表示属性值,对应属性名所包含的各种属性值。
实例:
clear all;
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轴图像:
示例:
clear all;
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轴中间位置输出字符串作为标注
示例:
clear all;
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('曲线及其包络线绘制');
grid on;
程序运行结果如下图:
4、坐标轴设置:
axis([xmin xmax ymin ymax]):设置当前坐标轴x轴和y轴的取值范围
axis auto:根据数据自动计算当前坐标轴范围
axis square:设置当前坐标轴为正方形
示例:
clear all;
t=0:0.02:pi/2;
subplot(1,3,1)
plot(sin(t),cos(t),'r'); %%绘制图形%%
axis auto;
title('自定义坐标轴范围')
subplot(1,3,2)
plot(sin(t),cos(t),'r'); %%绘制图形%%
axis([-1 2 -2 2]);
title('设置特定坐标轴范围')
subplot(1,3,3)
plot(sin(t),cos(t),'r'); %%绘制图形%%
axis square;
title('设置正方形坐标轴范围');
程序运行结果如下图:
5、格栅
当图形要求对具体数值有更加清晰的展示时,为图形添加格栅是非常有效的方法,在matlab中通过调用grid on和grid off 函数来添加格栅或者删除格栅。
示例:
clear all;
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);
grid on;
程序运行结果如下图:
6、多个图像的绘制
在实际应用我们需要保留原来的图像,同时绘制新的曲线,matlab
中调用hold on和hold off 函数分别来表示保留原来的图像不被刷新,不保留原来的图像
示例:
clear all;
t=-2*pi:pi/10:2*pi;
y1=sin(t);
y2=cos(t);
plot(t,y1,'r');
hold on;
plot(t,y2,'b');
title('先后正弦曲线和余弦曲线');
程序运行结果如下图:
7、子图绘制
Matlab允许用户在一个窗口中同时显示多个图形,这时需要调用subplot函数,其调用格式
subplot(m,n,p),m表示图形行数,n表示图形列数,p表示图形的顺序
示例:
clear all;
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('指数曲线');
程序运行结果如下图: