plot函数绘图
plot(x,y):用于绘制一条曲线,以x为横坐标,y为纵坐标;
- 当x为向量y为矩阵时:y的列数等于x长度时以x为横坐标,y的每个行向量分别为纵坐标绘制曲线。y的行数等于x长度时以x为横坐标,y的每个列向量分别为纵坐标绘制曲线。例如:
>> x=linspace(0,2*pi,100);
>> y=[sin(x);sin(x)+1;sin(x)+2];
>> plot(x,y)
与
>> x=linspace(0,2*pi,100);
>> y=[sin(x);sin(x)+1;sin(x)+2];
>> y=y';
>> plot(x,y)
的结果均为:
- 当x与y为同型矩阵时:以列元素为横纵坐标绘制曲线。例如:
>> x=linspace(0,2*pi,100);
>> x1=[x;x;x]';
>> y1 = [sin(x);sin(2*x);sin(0.5*x)]';
>> plot(x1,y1)
- 含多个输入参数。例如:
>> x1=linspace(0,2*pi,5);
>> x2=linspace(0,2*pi,10);
>> x3=linspace(0,2*pi,100);
>> plot(x1,sin(x1),x2,sin(x2)+1,x3,sin(x3)+2)
- 含选项plot的函数,plot(x,y,选项):
例如:
>> x1=linspace(0,2*pi,5);
>> x2=linspace(0,2*pi,10);
>> x3=linspace(0,2*pi,100);
>> plot(x1,sin(x1),'r-*',x2,sin(x2)+1,'b--o',x3,sin(x3)+2,':k')
fplot函数
- fplot(f,lims,选项):f代表一个函数,通常采用句柄的形式;lims为x轴的取值范围,用二元向量[xmin,xmax]描述,默认值为[-5,5]。例如:
>> fplot(@(x) sin(1./x),[0,0.2],'b')
- fplot(funx,funy,tlims,选项)双输入函数参数:funx,funy代表函数,通常采用句柄,tlims为参数函数自变量的取值范围[tmin,tmax]。例如:
绘制:
>> fplot(@(t) t.*sin(t),@(t) t.*cos(t),[0,10*pi])
图形标注
title(图形标题):给图形添加标题,两行标题可用逗号隔开;
xlabel函数和ylabel函数:为x或y轴添加标签;
text(x,y,说明)函数和gtext(说明)函数:text(x,y,说明)将说明内容放在(x,y)处,gtext(说明)执行时说明内容放置在鼠标单击处;
legend(图例1,图例2,…):按顺序为图像前加图例;
坐标控制
axis([xmin,xmax,ymin,ymax,zmin,zmax]):设置坐标轴的范围:
给坐标系加网格线和边框:grid on, grid off, grid;box on, box off, box;
图形窗口的分割
子图:同一图形窗口中的不同坐标系下图形称为子图;
subplot(m,n,p):将图形窗口分成m×n个绘图区,p指定当前活动区,可以进行非常灵活的分割;
例如:
t=0:0.1:2*pi;
x1=cos(t);y1=sin(t);
x2=2*cos(t);y2=2*sin(t);
subplot(2,2,1);%将窗口划分为2×2,定位第一个活动区
plot(x1,y1,x2,y2);
title('图一');%标题
legend('R=1','R=2');
subplot(2,2,2);%将窗口划分为2×2,定位第二个活动区
plot(x1,y1,x2,y2);
title('图二');%标题
axis([-3,3,-3,3]);%设置坐标轴的范围
grid on;%显示网格线
box off;%隐藏边框线
subplot(2,1,2);%将窗口划分为2×1,定位第二个活动区
plot(t,sin(t));
axis([0,2*pi,-1,1]);
title('正弦曲线','Color','b');
xlabel('x');ylabel('y');%为xy轴添加标签;
text(5.6,0.2,'y=sinx');%添加说明
gtext('BINGOMAXMELL','Color','r');%在鼠标点击处添加说明
其他形式的二维曲线
其他坐标系下的二维曲线图:
- 对数坐标图:semilogx(x1,y1,选项1,x2,y2,选项2,…)只有x轴用对数刻度;semilogy(x1,y1,选项1,x2,y2,选项2,…)只有y轴用对数刻度;loglog(x1,y1,选项1,x2,y2,选项2,…)xy轴均用对数刻度;使用方法与plot相同。例如:
>> x=0:0.1:10;
>> y=1./x;
>> subplot(1,2,1);
>> semilogy(x,y);
>> subplot(1,2,2);
>> loglog(x,y);
- 极坐标图:polar(theta,rho,选项),其中theta为极角,rho为极径。例如:
>> t=0:0.01*pi:2*pi;
>> r=1-sin(t);
>> polar(t,r)
统计图:
- 条形图:bar(x,y,style),style指定分组排列模式,“grouped”簇状分组,“stacked”堆积分组;
- 直方图:hist(y,x)直角坐标系,rose(theta,x)极坐标系
- 面积类图形:area面积图,用法与plot相同;pie(x,explode)扇形统计图,explode控制图块的显示模式,非零值部分会从扇形图中分离出来。例如
>> x=[5,20,15,35,55,30];
>> y=[0,0,0,0,0,1];
>> pie(x,y)
- 散点类图形:scatter(x,y,选项,‘filled’)散点图;stairs()阶梯图;stem()杆图。例如:
>> t=0:0.05*pi:2*pi;
>> x=16*sin(t).^3;
>> y=13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);
>> scatter(x,y,'rd','filled')%红色菱形,实心
- 矢量类图形:compass()罗盘图;feather()羽毛图;quiver(x,y,u,v)箭头图x,y为起点u,v为终点。例如:
>> A=[2,5];B=[-4,5];
>> C=A+B;
>> hold on;
>> quiver(0,0,A(1),A(2));
>> quiver(0,0,B(1),B(2));
>> quiver(0,0,C(1),C(2));