误差图在matlab的调用方式有如下几种:
errorbar(y,err); %y中的数据线图
errorbar(x,y,err); %y方向的误差带
errorbar(x,y,err,'horizontal'); %x方向的误差带
errorbar(x,y,err,'both'); %x和y方向的误差带
errorbar(x,y,xmin,xmax,ymin,ymax); %x和y方向有区间的误差带
x=(0:0.1:2*pi);
y1=sin(x);
y2=0.5*sin(x);
err=y1-y2;
errorbar(x,y1,err)
x=(1:10);
y=sin(x);
err=rand(1,10);%随机生成1-10的数据
errorbar(x,y,err,'horizontal')
x=(1:10);
y=sin(x);
err=rand(1,10);%随机生成1-10的数据
errorbar(x,y,err,'both')
x=(1:10);
y=sin(x);
xmin=rand(1,10);%随机生成1-10的数据
xmax=rand(1,10);
ymin=rand(1,10);
ymax=rand(1,10);
errorbar(x,y,xmin,xmax,ymin,ymax)
那么x和y每组间的误差带不同,但单个数据的x、y方向误差带相同该如何调整呢?
令:xmin=xmax,ymin=ymax即可
x=(1:10);
y=sin(x);
xmin=rand(1,10);%随机生成1-10的数据
xmax=xmin;
ymin=rand(1,10);
ymax=ymin;
errorbar(x,y,xmin,xmax,ymin,ymax)
同样还是用到subplot命令,例如将以上五幅图分别输入到同一个figure里:
subplot(5,1,1); %五行一列的第一个
x=(0:0.1:2*pi);
y1=sin(x);
y2=0.5*sin(x);
err=y1-y2;
errorbar(x,y1,err);
subplot(5,1,2);%五行一列的第二个
x=(1:10);
y=sin(x);
err=rand(1,10);%随机生成1-10的数据
errorbar(x,y,err,'horizontal')
subplot(5,1,3);
x=(1:10);
y=sin(x);
err=rand(1,10);%随机生成1-10的数据
errorbar(x,y,err,'both')
subplot(5,1,4);
x=(1:10);
y=sin(x);
xmin=rand(1,10);%随机生成1-10的数据
xmax=rand(1,10);
ymin=rand(1,10);
ymax=rand(1,10);
errorbar(x,y,xmin,xmax,ymin,ymax)
subplot(5,1,5);
x=(1:10);
y=sin(x);
xmin=rand(1,10);%随机生成1-10的数据
xmax=xmin;
ymin=rand(1,10);
ymax=ymin;
errorbar(x,y,xmin,xmax,ymin,ymax)