||
hello world
理论物理、实验物理和计算物理是物理学研究的三大支柱。其实可以更广义地说,实验研究、理论分析和科学计算是并驾齐驱的三个科学研究方法。
在物理学的发展过程中,严格的解析解曾经扮演了重要的角色,但是现在的情况不同了。用初等函数乃至特殊函数表示的严格解基本上只在教学中起作用了(最大的用途在于考试?),在科学研究和生产实践中,定性和半定量的方法也许更有用,而计算机的使用几乎是不可或缺的。任何精确可解的模型,也只是是对客观世界的一种近似而已;随着信息技术的发展,我们拥有的计算能力远远超出了前辈天才们的奢望。世易时移,变法宜矣。
今年是我第三年给大一新生讲大学普通物理的力学了。如果总是用同样的方式讲课,就太烦人了,所以,我就加了一些其他内容,包括所谓的“计算方法”(通常是非数学专业的三年级专业课)。但是我惊奇地发现,大部分学生说,自己没有学过任何一门计算机语言——三十年前,我在高中还学过BASIC啊!
我在上传了一个scilab 6.0的软件,并在课堂上简单地介绍了一下。强有力的数学软件有很多,比如说matlab或mathematica,但是它们都是商业软件,我们不能在课堂上用它们。盗版的软件,应该是能找到的,但这肯定不是正确的方式——毕竟我们是打算培养能够创造新知识的人。
当然还有开源软件。现在最流行的开源软件是python,但是我目前没时间也没有兴趣去了解。用计算机(或者手机)自带的科学计算器当然可以做简单的计算,就是有些繁琐;ORIGIN和EXCEL也是商用软件;在原则上,用免费的WPS表格软件也可以处理各种数学问题,但这主要是为财会人员设计的,对于科学计算不是那么友好。所以我选择了SCILAB:有利的因素是,这个软件我用过差不多十年;不利的因素是,我没有见过一个人使用这种软件。
SCILAB是开放源代码的自由软件,以法国国立信息与自动化研究所(INRIA)为主开发出来的,所以不涉及版权问题。简单地说,SCILAB(Scientific Laboratory)非常类似于MATLAB(Matrix laboratory),但是一直没有推广起来,可能是因为他挣不了钱。以前,中国科学院自动化研究所跟INRIA有协议,帮助他们推广,但是现在不知道为什么,国内的那个推广网站不见了,也许他们不再合作了——去年这个时候,我还访问过那个合作网址,可是现在找不到了。
我是在大约10年前开始用SCILAB的,因为此前我用过MATLAB,所以觉得很容易(当然,MATLAB也不难,自己对着书学,再找几个程序,用不了几天就可以做事情了)。但是介绍SCILAB的书非常少,我读的是黄铎、王风和李志伟的《科学计算自由软件SCILAB基础教程》(清华大学出版社,2006年)。
我学过的计算机语言包括:BASIC,FORTRAN,C,汇编,PASCAL,LABVIEW,MATLAB。可能还有些其他的什么,但是用的机会并不多,很多也都忘记了。计算机语言都是差不多的,只要学会数据结构,再多看看help文档,自己动手编上几个程序,就可以了——关键是要做具体的事情,如果只是看书,其实很没有意思的,也没有什么用。
不管是计算还是画图,SCILAB都很方便的——当然他的功能远远不止于此,只是我几乎没有用过其他功能而已。MATLAB、LabView和Python能干的事情,他肯定也能干的。文件也不大(不到200M),又是自由软件,每个对计算有点兴趣的人,都可以考虑考虑。与其在那里刷什么吉米多维奇或者物理学难题集萃之类的,不如用SCILAB来学习一些计算方法,解决一些更具体些的问题,为迎接大数据时代做好准备。
与SCILAB有关的一些资料
黄铎,王风,李志伟,《科学计算自由软件SCILAB基础教程》,清华大学出版社,2006年。
谢晓尧,游善平,《Scilab及其在基础教育科学计算中的应用》,科学出版社,2011年。
SCILAB主页
http://www.scilab.org
Open source software for numerical computation
http://www.scilab.org/en/download/6.0.1
百度百科词条:scilab
https://baike.baidu.com/item/scilab/4930362
Scilab-开放源代码的科学计算软件
https://www.douban.com/group/topic/5811877/
SciLab教程
http://www.docin.com/p-603451485.html
科学计算软件 Scilab
https://www.oschina.net/p/scilab
Scilab-Windows平台下MATLAB的免费开源替代者
https://www.cnblogs.com/faron/articles/4349642.html
刘洋:开源数学计算软件SciLab
http://blog.sciencenet.cn/blog-1750-368232.html
下面这个网站不知道为什么不见了
我的一些相关书籍:
自由软件
黄铎,王风,李志伟,《科学计算自由软件SCILAB基础教程》,清华大学出版社,2006年。
韦纳 著,王克迪, 黄斌 译,《共创未来:打造自由软件神话》,上海科技教育出版社,2002年
许峰雄 著,黄军英,蔡荣海,程如烟 译,《“深蓝”揭秘:追寻人工智能圣杯之旅》,上海科技教育出版社,2006年
赵炯,《Linux内核完全剖析》,机械工业出版社,2006年
Sam Williams, Free as in Freedom: Richard Stallman's Crusade for Free Software
Henrik Ingo, translator: Sara Torvalds, Open Life: The Philosophy of Open Source,
计算机算法
徐士良,《FORTRAN常用算法程序集》,清华大学出版社,1992年。(这个常用算法程序集还有C语言的版本)
葛哲学,《精通MATLAB》,电子工业出版社,2008年。
Steven C. Chapra 著,唐玲艳,田尊华 译,《工程与科学数值方法的MATLAB实现》,清华大学出版社,2009年。
Won Young Yang, WenWu Cao, Tae-Sang Chung, John Morris, Applied Numerical Methods Using Matlab, John Weiley & Sons, 2005.
Alfio Quarteroni, Riccardo Sacco, Fausto Saleri, Numerical Mathematics, Springer, 2006.
Donald E. Knuth, The Art of Computer Programming, Volumes 1-3 (影印版)
数学手册
第一版《中国大百科全书》数学卷
《数学手册》(高等教育出版社,1979年)
Table of Integral, Series, and Products (I. S. Gradshteyn and I. M. Ryshik)
数学分析习题全集(吉米多维奇)
数理方程
特殊函数概论(王竹溪,郭敦仁)
数学物理方法(希尔伯特,柯朗)
数学物理方程及其近似方法(程建春)
经典和现代数学物理方法(陆振球)
数学物理方法(郭敦仁)
数学物理方法(吴崇试)
特殊函数(刘式适,刘式达)
Methods of Mathematical Physics (Jeffeys and Jeffeys)
Mathematical Methods for Physicists (George B. Arfken, Hans J. Weber)
微分方程
物理学中的数学(E. Rubin 主编, 何育赞 等译)
常微分方程(V. I. 阿诺尔德 著, 沈家骐,周宝熙,卢亭鹤 译)
现代偏微分方程引论(齐民友,徐超江,王维克)
反应扩散方程引论(叶其孝,李正元)
数学物理中的渐近方法(李家春,周显初)
高等应用数学方法(Carl M. Bender, Steven A. Orszag 著,李家春 译)
自然科学中确定性问题的应用数学(林家翘,L.A.西格尔 著,谈镐生,赵国英,朱保如,周忠民 译)
Nonlienear Partial Differential Equations for Scientists and Engineers (Lokenath Debnath)
Second Course in Ordinary Differential Equations for Scientists and Engineers (Mayer Humi, William Miller)
Mathematical Methods for Scientists and Engineers: Linear and Nonlienear (Mayer Humi, William Miller)
Advanced Mathematical Methods for Scientists and Engineers: Asymptotic Methods and Perturbation Theory (Carl M. Bender, Steven A. Orszag)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-22 06:28
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社