

下面是一个哥们给我的学物理需要学会的软件清单
ps,加上我的一点个人意见
LaTeX
这是专门用来写带有数学公式的论文的,功能极其的强大,基本的构架已经好多年没有 变了,我个人的感觉是,只要学会了用,就放不下手了。Office里面的公式编辑器和Mathematica一类的数学软件,尽管功能也很强大,操作也比LaTeX方便,但是排版性能比LaTeX差多了,而且美国的出版商,包括一些大的杂志,也要求投稿的时候用LaTeX源代码。LaTeX的基本操作过程是先用latex编译器把.tex的纯文本源代码编译成.dvi文件,然后用dvips文件把.dvi转换成打印机可识别的postscript .ps文件,最后可以用ps2pdf把.ps转换成.pdf的文件。现在大多数的latex编译器也直接提供了pdflatex可以直接把latex源代码编译成pdf文件,所以当然很方便拉。
*nix平台下面一般默认都安装latex编译器
windows平台下首推MikTeX编译器。
http://www.miktex.org/ ;
我个人意见是windows平台下面的pctex更好用,然后可以用adobe distiller转换成pdf文件。
另外scientific workplace很不错,所见即所得。
如果你做出了重大的贡献,但是不会写latex,很可能最后发表论文的第一作者轮不到你,所以,趁早学latex把!
>>>>>>补充
Fang大师推荐WinEdt和MikTex集成的CCT,我觉得总体功能比前面我说的软件还要好。
数学软件
首推matlab,功能极其强大,特别适合物理学上面一些怪异的运算。而且就图形方面的功能来说可以说是首选。我个人倾向于mathematica。另外maple也不错,不过我没有用过,没有发言权。主要的意思是,不需要都会,但是必须要有一种数学软件用到炉火纯青的地步,比如求积分,数值解方程,画图(比方说给你一个f(x,y,z),要让你画出f( x,y,z)=1的那个面),矩阵运算。
>>>>>>补充
三种软件各有所长,参见wjjpig的经典评论
http://elephant.linux.net.cn/weed/forum.php?id=7771#search
矢量作图软件
无论是写论文还是画实验图纸,都需要很好的作图软件。我首推矢量作图软件,所谓矢量图,就是说不像photoshop处理的那种图放大了就会有马赛克的,而是文件里面保存的就是里面点和线的信息。矢量图通用的格式是ps和wmf。powerpoint可以输出wmf,但是作图功能上太简单,适合做简单的图。corelDraw,illustrator和AutoCAD很不错,但是不是每个物理组都有,除非你自己在家里偷偷摸摸用盗版。LaTeX也可以画矢量图,不过有点困难。我推荐不出特别好的,反正只要有一种能用的比较顺手就好了。这里对准备朝实验方向发展的朋友推荐canvas,这是专门用来画图纸的矢量作图软件,而且标注尺寸方面非常优秀。当然在画图纸方面autoCAD比canvas功能更强大,但是一般物理实验组还不会奢侈到买autoCAD的程度。
>>>>>>补充
忘记提到怎么在LaTeX里面包含图片。一般我们的做法是将图片打印到文件,这就是一个EPS文件格式,放大缩小都不会失真的,在LaTeX里面插入这类图片也是最漂亮的。有些矢量作图软件可以直接输出EPS,当然更好。还有忘记提微软的visio,也是很妙的一个画图软件。
网页软件
做出了什么有意思的东西,放在网上面当然最好了。
做网页不需要太高超的技巧,如果会直接写HTML,当然好,但是会用一般的网页软件也行。要注意的一点是,美国不像国内都是IE,在美国很多人用netscape,所以做网页切记不要用太fancy的东西。还有,推荐学习java,有些东西用平淡的网页很难表现出来,可以使用applet来表现,而且java平台是大多数浏览器都支持的(xp下面的ie不默认安装java虚拟机),所以大多数有意思的站点都会用applet来演示。
下面的内容专门针对准备朝实验方向发展的朋友们
LabView
这是美国national instrument推出的一款仪器控制软件。但是它的功能要比这个基本功能强大的多。具体的不多说了,可能各位现在还搞不到这个软件,即使搞到了也不一定能用,就做个准备需要学习吧。反正美国任何一个实验组,只要不是他们没钱,都会用LabView来控制实验室里面的大多数仪器。我现在的实验组(LabView程序是我写的),用LabView来控制24个TTL电平和20个模拟电平输出(精确到10微秒),这些电平通过一些电路来控制激光、磁场、铯原子放射速度等等很多东西。同时LabView程序还要读取8个通道的电压值、做图像截取。这并不是最复杂的。
>>>>>>补充
最近了解到有两个比较大的实验组是用MatLab来控制实验仪器的,这个我一点不懂,而且听他们说这方面MatLab的技术支持远比LabView差。问题是,如果一个实验组沿用了5年的程序一直是MatLab写的,那就很难说有这个必要重新用LabView写一个,往往就在原来的程序上面修修补补了。这个完全由你要进入的实验组决定。
数据处理软件
一般人会想到Excel,我个人认为Excel的数据处理实在是小儿科,最多适合于低年级本科生的实验报告。数据处理我首推origin,它可以很严密的处理实验数据的误差,可以做任何理论曲线的拟合,而且能够给出拟合参数的误差,当然制图方面也不差。另外, 也有人用SigmaPlot和IgorPro,功能大同小异,这里面的问题就是你要进的实验组往往大家都用某一个软件,所以最好和他们都一致。
>>>>>>补充
强烈推荐origin,拟合非线性的函数简直是大师。最近看到有origin7,还没有用过。
反正origin6我觉得唯一的缺点就是界面太土了。
编程语言
一般情况下,实验组都用LabView来控制,但是很难说有些情况下会需要直接写C++的程序。这主要发生在需要绝对保证数据稳定性的情况下,一般使用unix/linux操作系统。我的个人意见是,不需要精通,但是unix/linux下面的C++编程,最好能够到一种可以在高人指点下迅速捡起来的程度。
>>>>>>补充
除非这个实验组比较变态,我很少听说有人直接用C++写程序的。前段时间是听说一个实验组要处理大量的数据(每个星期都要从观测点用UPS寄回80G的硬盘,因为网络传数据太慢了)。开始他们准备用C++写程序,这也是我写上面那一段文字的原因。但是最近我听说他们还是转向matlab了。
先写这些,以后补充。小弟涉猎尝