本帖最后由 kensington 于 2010-2-3 19:43 编辑
由于水平有限,文中难免有疏漏、错误之处,敬请雅正
本文正在不断更新、完善,恳请高手们不吝赐教,多提宝贵意见
注:本文中“我校”指南京信息工程大学
大气科学专业软件学习综述
大气科学的发展与计算机科学的发展密不可分,在一定程度上说,没有计算机科学的飞速发展就没有气象事业的今天。 学好这些软件不仅需要具备基本的计算机常识,还需要有一定的编程基础。就我校而言,对学生的计算机要求也逐渐提高,从09级开始计算机等级考试证书与学位挂钩,还有新一届的本科培养计划中,有关软件的课程比重逐年加大。由此可见软件学习的重要和学校的重视。 大气科学类的学生在专业课学习的过程中会接触到有关专业软件的课程,如:Frotran语言程序设计,C语言程序设计,计算方法,实验数据分析,气象图形图像软件,中尺度气象模拟,数学建模,地理信息系统,数据库技术……还有一系列实习课基本与专业软件形影不离;因此大气科学类的学生会接触到不少专业的软件,如:Fortran,C,Excel,Matlab,SAS,SPSS,Origin,Mathematica,Lingo,R软件,GrADS,ArcGIS(目前有的气象台站用于指挥人工降雨的系统就是用ArcGIS开发的),ArcView,Visual Foxpro…… 与此相关的还要涉及操作系统的基本知识,大学计算机基础理科生一进校就学了,还有相当一部分同学使用电脑的年龄也不短了,这些常识应该都有了。Windows大家应该都很熟悉,但是在今后(特别是研究生阶段)气象类的很多软件,还有模式都需要在Linux环境下完成,所以熟悉一下已经被大多数人淡忘的Linux操作系统也是很有必要的。 软件一堆,很多同学就会觉得头疼,尤其女生。不过软件学习还是有一定规律可循的。软件的学习要求的能力其实也很单一,主要是计算机语言能力(编程能力) 软件简介 这么多软件看似琳琅满目,令人眼花缭乱,其实我们可以把所有软件都看成是一堆具有特定功能的程序语句的集合,是一大坨打包了的程序语句。 这些软件,包括操作系统,都是由一些基本的计算机语言开发出来的,如Matlab、Mathematica都是基于C语言开发出的功能强大的数**算软件;SAS是基于JAVA语言开发的统计方面最权威的软件。 虽然目前各种软件都能倾向于“全能“,但是各种软件都有各自擅长的领域,如:Matlab擅长矩阵运算;Lingo擅长线性规划;SAS,SPSS,R软件专注于统计分析。Excel、Origin在简单的数据分析、图表的绘制方面具有优势,GrADS则是专业的气象绘图软件,做学位论文时一般要用到。 所以,我们不要觉得要学的东西太多,只是由于各种软件自身的特长,掌握了多种软件,在处理实际问题时,我们可以充分发挥不同软件的优势。 还有基本的计算机语言,问世的有上百种,主流的也有很多,如:Fortran,C,C++,VB,VB.net,Java,Delphi,Python……各种计算机语言的学习具有相通性,学通一门,就可以很快掌握其它的计算机语言。 或许有人会问,既然相似,问什么还要学几种呢?各种语言有最适合的使用环境,如果想达到下面提及的软件学习的第5种境界,就必须学习多种计算机语言,不同软件支持的扩展编程语言不同,而且便捷性也不相同,如Excel中支持VB(Visual Basic)语言,Matlab中最方便的扩展编程语言是Matlab特有的M语言,Python主要适用于ArcGIS的扩展编程……C语言是兼容性最好的语言,几乎所有软件都支持C语言扩展编程,只是有的比较麻烦而已。 软件学习的不同境界 1.软件启动后,只能翻翻菜单,敲些字符(刚接触,未入门) 2.自学或在课堂上跟着书本或老师一步步的跟着操作,能完成一些任务,得出些结果(入门阶段) 这个阶段处于依葫芦画瓢的状态,也是熟悉软件的必不可少的过程。 3.根据自己的需要处理的问题,查阅有关书籍,访问网络博客、论坛,软件的帮助文档……学习相关知识,解决问题(熟练) 在这阶段主要是更多视角的熟悉某一软件的功能,熟悉计算方法有利于熟练的使用软件 4.了解各种软件的优缺点,实现他们的对接,形成优势互补 这是在熟悉各种软件后很自然的能达到的一种状态 5.根据具体的问题,利用软件的扩展接口,自己编写程序,解决实际问题 要用计算机处理数学问题,就要把数学语言表述的定理,理论转化为计算机能执行的计算机语言(Programming Language),这就要熟悉一些算法。计算方法课程中学的就是这玩意,要达到这境界还要打下扎实的计算机语言的基础,Frotran语言程序设计,C语言程序设计都是要认真对待的课程。 如果能到这个境界,计算机二级、**绝对是小菜。 软件学习的总体思路 1.在老师或书本的带领下熟悉软件界面极其基本功能 2.自己安装软件,多多操作
有条件的同学尽量自己安装一下软件,在这过程中会对这款软件有深入的了解;Windows下安装软件是比较傻瓜的事,会运行可执行文件,会按确定基本就OK了;Linux下安装软件还需要对电脑的硬件有一定的了解,对一些参数的设置要熟悉,安装操作主要还是靠命令行完成的。
如果自己安装软件条件难以满足,这不是太要紧的,自己安装软件是为了提供一个练习的机会,关键是要多练习。特别强调,上课时老师教的远远达不到让你学通一种软件的要求,仅跟着老师走,最多达到第二种境界 3.充实理论知识,熟悉软件功能实现的原理,强化编程能力
理论知识主要是数学理论,大气科学理论,计算机理论(计算方法,硬件基础……);编程能力主要是多练习,写上几千上万行的程序才可以达到基本熟练的程度。 软件学习中出现的一些问题 1.因为软件的学习主要是靠计算机,但是许多同学一开电脑就难以控制自己,一般在电脑上不干学习的事,尤其是联网时更是难以抵制**。不过这点,别人没法帮你,需要自己克服。 2.学习软件,课堂上的上机时间肯定是不够的,课后还要花一定时间。用自己的电脑练习时,可能因为对操作系统的使用与维护缺乏必要的常识,系统出问题,比如病毒或是不会更改一些设置,从而影响了上机练习。这种情况解决的最最彻底的方法就是熟悉操作系统及其维护的基本常识,这些小知识网上一堆,图书馆的书有好几架;另一种方法就是花钱到学校机房(只有网络中心的机房既安装了我们需要的软件,又对外开放)去。 |