Chinaunix首页 | 论坛 | 博客
  • 博客访问: 535572
  • 博文数量: 51
  • 博客积分: 8000
  • 博客等级: 中将
  • 技术积分: 1040
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-28 17:26
文章分类

全部博文(51)

文章存档

2011年(1)

2010年(20)

2009年(27)

2008年(3)

我的朋友

分类:

2009-11-04 22:20:04

    以前用的几个数据处理软件,按照使用的频率排是Origin,KaleidaGraph,Excel。最不喜欢的是Excel,有点太简单了,不过做实验的人喜欢,给的实验数据都是这个格式的。
    最先使用Mathematica是用来推公式的,图形方面比较弱,以前画图都是将Mathematica产生的数据导到Origin里处理。最近发现 7里的3D绘图性能提高以后,几乎所有的图都是从出的。新版本里支持图形输出成EPS、PDF格式,用LaTeX写文章很方便。Mathematica里的图形控制相对比较复杂,不过用过几次以后,就已经熟悉了,而且可以定制。
    例子,一个数据文件,带XY两列数据,文件头部有一段文字说明。可以直接拿下面的代码搞定绘图。

SetDirectory["D:\\@WorkExchange\\2009_NcEffect\\Data"];
stream = OpenRead[NcFileName];
Skip[stream, String];
Data = ReadList[stream, {Number, Number}];
Close[stream];
Nc = Transpose[{Data[[All, 1]], Data[[All, 2]]}];
ListPlot[Nc, Frame -> True]

第一行设定工作路径;第二打开文件;第三行跳过头部的文字;第四行读出数据;第五行,转成XY的数组,最后就可以画出来了。NcEffect_DataProcessing

现在需要读写大量的数据,要是用Origin什么的,估计用鼠标都用得手抽筋。用代码实现,还是很不错的选择。记得Linux下面,有个直接命令行绘图的,出EPS文件,现在也不用管了。

Mathematica里的好处,就是可以设定拟合函数,和拟合方法(例如,最大似然估计)。最后一个对于数据的统计分析非常重要,代码实现起来也就3、4行。而在Origin里没有现成的方法,需要自己写子程序。另外,3D的数据重现也是非常方便的,例如右图。实现起来,也就是上面一段代码的简单扩展。这个如果要用Origin画,估计就要花费比较多的时间来处理。现在对于Excel里的实验数据,都是到处成文本,然后用Mathematica处理的。

不过,Mathematica里还是有几个问题,例如循环的有效性比较低,占用比较多的CPU资源。这个就不如Matlab之类的软件了。

阅读(2696) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~