MATLAB已经更新到了7.8版。从方便学生完成编程作业的初衷,到最后在市场上大红大紫,这一切仿佛是上天对Cleve博士无心插柳的恩赐,但事实并非如此简单。
《工程与科学数值方法
的MATLAB实现(第2版)》,[美]StevenC.Chapra著,唐玲艳、田尊华译,清华大学出版社2009年5月,78.00元
做科学家是我童年时代芸芸众孩儿的梦想。但随着科学前沿一日日向空间、微观、学科交叉发展,我们终于明白,无论多少次坐在苹果树下仰望星空,或者围着炉灶烧多少壶开水,我们都注定做不成牛顿、瓦特。作为一个普通人,难道我们只有一边慨叹着自己生不逢时,一边目送着科学快车绝尘而去么?
不!随着电脑和互联网的普及,在21世纪,科学已经不再是科学家的专利,更多的知识与资讯已经打开大门,做不了科学家的草根们一样可以在科学殿堂中拥有一席之地。
至少我们不用看别人点几下鼠标实现PS特效就艳羡不已;至少不用看着打虎派和挺虎派的各执一词而如坠雾中;至少可以自己做K线图而不用听著名股评家在各个频道的狂轰乱炸;至少不用等待专家的宣判,就能够通过电视台的车祸视频分析出那辆狂奔在杭州街头的车到底速度是不是七十码。
MATLAB,可以帮助我们实现这样的草根科学梦。
MATLAB对于那些整日泡在实验室的科学工作者来说,早已不陌生。它是用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。凭借在数值计算上的优异性能,MAT鄄LAB同Mathematica、Maple并称为三大数学软件。与此同时,它的应用领域又超越了数学的范畴,囊括了工程计算、控制系统设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析、计算机生物学等科学研究与工程计算的各领域。
MATLAB具有惊人的优势,而回溯它的诞生史,你就会发现,它正是一朵长在草根之上的奇葩。
MATLAB诞生于20世纪70年代,它的开发者是Cleve Moler博士和他的同事。当时,Cleve Moler博士是新墨西哥大学的数学教授,他与同事合作开发了EISPACK和LINPACK的Fortran子程序库,用来求解线性方程。Cleve希望学生可以无须写Fortran程序就能够使用新软件包,为了实现这一想法,他自学了Niklaus Wirth(Pascal之父)的一本书来研究计算机语言的语法分析,并在这本书的启蒙下,开发出了MATLAB的第一版。由于当时仅有的数据类型是矩阵,所以他为其命名MATLAB,意为矩阵(Matrix)+实验室(Laboratory)。1979年,Cleve到斯坦福讲授数值分析课程。他将MATLAB介绍给同学。班上一半来自数学和计算机专业的学生,对新程序没有深刻的印象。因为和其他编程语言相比,它并不特别强大。但另一半来自工程专业的学生却喜欢MATLAB,因为他们正在学习控制分析和信号处理这些强调矩阵运算的科目。而正是这一半学生的支持让Cleve Moler博士坚定了推广MATLAB的决定,也最后促成了MATLAB成为商业软件。
这些学生中的几个毕业后加入了两个咨询公司,这些公司扩展了MATLAB,使其在控制分析和信号处理方面具备了更多的能力。1981年,当IBM宣布第一个PC时,他们中的一员Jack Little预见到MATLAB和PC结合用于技术计算的可能性。后来,Jack Little和Steve Bangert用C语言重新编写了MATLAB,并且加入了M文件、工具箱和更强大的图形能力。1984年,他们三人合作成立了MathWorks,并发布了MATLAB的1.0版,到20世纪90年代,MATLAB已成为国际控制界的标准计算软件,而现在MATLAB已经更新到了7.8版。从方便学生完成编程作业的初衷,到最后巨大市场成功,这一切仿佛是上天对Cleve博士无心插柳的恩赐。但实际上,正是Cleve博士和他的学生们坚持不懈的一路努力才终究跨越了梦想与现实的距离。
说完MATLAB的诞生故事,说说手中这本书――《工程与科学数值方法的MATLAB实现》。它的作者Steven C.Chapra在计算机与环境工程领域都是专家。这本书就来源于他累积多年的教学与工程实践。
尽管MATLAB蜚声国际,但现今图书市场中各种关于MATLAB的中文书籍大多仍停留在介绍其基础函数命令并举出相应范例的层次。更有甚者只是将软件自身附带的Help文件翻译成中文,再加些注释了事。造成这一局面主要归结于,MATLAB在中国仍主要应用于研究,推广程度不够。而中国的MATLAB使用者和作者大都集中在数学与计算机领域,所以书中内容偏重于对数值计算和工程数学使用方法的介绍,信号处理和通讯领域也有少量涉及,但金融建模设计与分析、生物学等领域相关书籍则少之又少。怎样将MATLAB应用于各领域的工程实践?让用户在使用中建立对MATLAB的认识与了解?让我们来看一看《工程与科学数值方法的MATLAB实现》吧。
这本书着重突出了MATLAB作为第四代程序设计语言的独特性,然后集中介绍了诸如最优化等各类数值方法的主要应用领域,将相对死板生硬的数值方法同具体实践联系起来,再在具体实例中展现MATALAB的优势。纵观全书,作者不仅由浅入深地介绍了MATLAB各种基本命令、使用方法和技巧,还针对诸如自动化、控制系统设计、图像处理等领域给出了详尽的工程实例,这与作者深厚的工业背景是分不开的。所以这本书不但适合指引那些具有很少计算经验的工程专业初学者进入科学计算领域,也可以作为那些继续怀有科学梦想的草根们掌握MATLAB工具的自学用书。