Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2009-05-13, 14:40   #1
tnt2345
初级会员
 
注册日期: 2009-05-13
年龄: 38
帖子: 1
声望力: 0
tnt2345 正向着好的方向发展
默认 有个关于双误差棒的问题

程序如下 那位大侠解释下我究竟那里出错了啊 运行了不出结果
function errorbarxy(x,y,lx,ly,ux,uy,linecol,errorcol,lw,ms,mf)

if exist('linecol','var')==0 | isempty(linecol)
linecol='b';
end


if exist('errorcol','var')==0 | isempty(errorcol)
errorcol='r';
end

if exist('lw','var')==0 | isempty(lw)
lw=1;
end

if exist('ms','var')==0 | isempty(ms)
ms=5;
end

if exist('mf','var')==0 | isempty(mf)
mf='w';
end

plot(x,y,linecol,'linewidth',lw,'markersize',ms,'markerface',mf)
hold on

xw=(max(x)-min(x))/100;
yw=(max(y)-min(y))/100;


lye=exist('ly','var');
lxe=exist('lx','var');
uye=exist('uy','var');
uxe=exist('ux','var');

if lye+lxe+uye+uxe==0 | isempty(lx) & isempty(ux) & isempty(ly) & isempty(uy)
return
end

if uye==0 | isempty(uy)
uy=ly;
end

if uxe==0 | isempty(ux)
ux=lx;
end

for t=1:length(x)

if ~isempty(ux)
%x errorbars
line([x(t)-lx(t) x(t)+ux(t)],[y(t) y(t)],'color',errorcol)
line([x(t)-lx(t) x(t)-lx(t)],[y(t)-yw y(t)+yw],'color',errorcol)
line([x(t)+ux(t) x(t)+ux(t)],[y(t)-yw y(t)+yw],'color',errorcol)
end

if ~isempty(uy)
%y errorbars
line([x(t) x(t)],[y(t)-ly(t) y(t)+uy(t)],'color',errorcol)
line([x(t)-xw x(t)+xw],[y(t)-ly(t) y(t)-ly(t)],'color',errorcol)
line([x(t)-xw x(t)+xw],[y(t)+uy(t) y(t)+uy(t)],'color',errorcol)
end
end
tnt2345 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 13:19


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.