Matlab中自带的误差棒函数 errorbar 功能单一,只能在普通坐标下绘制纵向误差,而水平误差棒、对数坐标也经常会用到,就写了一个功能完整点的。帮助如下:
% 误差棒函数增强版
% ERRORBARE(SYM,X,Y,Xbar,Ybar) 能够按需要绘制误差棒,
% 可沿水平、垂直,或者两轴方向,能够根据所选坐标类型
% 调整端点线长。并可处理上下限不同的情况。
%
% SYM 参数包括 v,h,d,vlogx,hlogx,dlogx,vlogy,hlogy,
% dlogy,vlogd,hlogd,dlogd 共12种
% v 表示误差棒垂直,
% h 表示误差棒水平,
% d (dual) 显示双轴误差,
% logx 对应 semilogx,前缀 v,h,d 意义同上
% logy 对应 semilogy,前缀 v,h,d 意义同上
% logd 对应 loglog,前缀 v,h,d 意义同上
%
% 范例:
% x = 1:10;
% y = sin(x)+2;
% e = std(y)*ones(size(x));
% errorbare(x,y,e) % 直接调用errorbar函数
% errorbare(‘v’,x,y,e) % e为 y 误差限
% errorbare(‘v’,x,y,[e;2*e]) % 上下限不等
% errorbare(‘hlogx’,x,y,e) % e为 x 误差限,
% errorbare(‘d’,x,y,e,e) % 双轴误差棒
代码参考了原始函数,运行效率没有下降,就是程序有点啰嗦,也不贴出来了,点此下载,其实这次的异常处理部分还是考虑得比较仔细的:)
顶
真的很不错。
应该多写写这种程序。
很有用啊,不过怎么改颜色呢?有时候一张图要画好几条曲线
抱歉,变量过多的话,异常处理部分会变得非常麻烦,你可以直接根据需要修改函数中的相应的plot参数。
为什么我用过之后显示Function definitions are not permitted at the prompt or in scripts
请问博主大人问什么?
错误提示是说不能在script文件中定义function,外部调用没这个问题,你该不是把代码粘到主程序里了吧?
被发现了,羞愧ING,我的确是这样的
现在弄明白了
解决了就好:)
那个水平误差棒怎么画不出来,提示有错
这一版确实有小问题,六参正常,我会尽快更新~