标签归档:Tips

Matlab误差棒增强版

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) % 双轴误差棒

代码参考了原始函数,运行效率没有下降,就是程序有点啰嗦,也不贴出来了,点此下载,其实这次的异常处理部分还是考虑得比较仔细的:)

用BibTEX输出arXiv

今天检查论文引文格式的时候突然发现所有来对预印本网站ArXiv的引用方式全部出错,因为是用BibTeX自动生成的,赶紧回头检查,发现问题出在ADS的导出格式上,其中对于ArXiv的定位是这样的,如果文章已正式发表,则Journal一项自然为发表刊物,若尚未发表,则为 ArXiv e-prints ,前缀(年+月)即为卷数,后四位即为文章编号(在07年改编号规则之前的文章,刊名加分类名称如 astro-ph 对应ArXiv Astrophysics e-prints,年月照写,无卷数,但也取后四位做文章编号),这样在输出为EndNote格式时就有了差别,已发表的文章arxiv编号同DOI编号并列在一起,虽然无法单独提取但不影响使用,而尚未发表的文章arxiv编号则被拆开,对应某卷某页,这的确是个变通的办法,但是按正常期刊的格式显示出来,怎么都对不了。只有BibTeX输出中多了一个eprint项,单独对应arxiv编号,于是其他导出格式都可以无视了。

接下来要把导出的BibTeX汇总整理,其实最好的办法是在线编辑,在ADS上注册个帐号,建个个人数据库,要用的文章打个勾点一下添加,用的时候按期刊格式一导出,什么麻烦都省了,可咱这儿的网络实在不让人放心……我一直用的Biblioscape这回是真不好用了,说是从7.0开始支持BibTeX,结果导入时主动忽略eprint这一项,改一下导入滤镜倒也不麻烦,可导出总不对我就没有办法了,看来目前的29个patch有希望继续出下去……国产的NoteExpress的情况也与此相同,虽然可以修改输出式样,但总归是绕远了;FF插件Zotero刚跨过1.0,便也找来试了一下,从ArXiv页面导入时将文章号列入期刊名一项,是个很巧妙的做法,虽然不符合Tag规定,但这样就能够不更改样式文件而获得正确输出,可惜没有加 ArXiv 标识,在ADS页面能正常识别已发表的文章,却将尚未发表的识别为网页,这样的话,就只有 JabRef 能够兼容这些少见的Tag,因为它就是基于bib文件操作的,不认识的标签就按照字母顺序往后排,原样输出。

继续阅读

利用RSS跟踪arXiv更新


现在终于下定决心开始跟踪论文预印本站点arXiv的每日更新了,但这每天提交的几十篇论文一口气看下来的确需要时间和耐心;如果中途有事中断,甚至耽误了一两天没看,新旧文章百十篇夹杂在一起……我无法想象自己每天吃饱了中饭就坐到电脑前做一下午人肉搜索……

要在这种情况下跟踪最新论文必须借助工具,于是我想到了RSS。RSS是随着blog和各类自助建站系统发展起来的一种全新浏览方式,动态页面技术将站点维护和内容更新有效分离,而大量模式化站点的出现也使标准化的更新查询容易实现。如果只是看blog,抓虾,netvibes,google reader 等在线阅读器已经足够了,但是要对这样大数据量的文献进行浏览检索以及随时的查阅,还是要用离线阅读器,其中最顺手的还是GreatNews

继续阅读