访问量: 920 次浏览
计算学科(通常也称作计算机科学与技术)作为现代技术的标志, 已成为世界各国经济增长的主要动力。在计算机产生之初及随后的一、二十年时间里, 计算机主要用于数值计算。大多数科学家认为使用计算机仅为编程问题, 不需作任何深刻的科学思考,计算机从本质上说是一种职业而一门学科。 到了20世纪70、80年代,计算技术得到了迅猛的发展和广泛的应用, 并开始渗透到大多数科学领域。 ACM和IEEE-CS联合攻关小组将计算机科学、计算机工程、计算机科学与工程、 计算机信息学以及其它类似名称的及其研究范畴统称为计算学科。
在科学计算领域,Python与Matlab是常用的两种语言。 Python是一种解释型、面向对象、动态的高级程序设计语言。 自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程。 目前Python已经成为最受欢迎的程序设计语言之一。
由于Python语言的简洁、易读以及可扩展性, 在国外用Python做科学计算的研究机构日益增多, 一些知名大学已经采用Python教授程序设计课程。 例如麻省理工学院的计算机科学及编程导论课程就使用Python语言讲授。
众多开源的科学计算软件包都提供了Python的调用接口, 例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。 而Python专用的科学计算扩展库就更多了, 例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib, 它们分别为Python提供了快速数组处理、数值运算以及绘图功能。 因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、 科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。
说起科学计算,首先会被提到的可能是MATLAB。 然而除了MATLAB的一些专业性很强的工具箱目前还无法替代之外, MATLAB的大部分常用功能都可以在Python世界中找到相应的扩展库。 和MATLAB相比,用Python做科学计算有如下优点:
例如,在开发云算笔记的过程中, 因为涉及到大量的计算,因此,先用了Python作为开发语言; 另外,为了保证开发过程的灵活性,使用了Tornado小型Web框架。 开发过程中,使用Python + Tornado, 完全实现了 Web 交互、应用程序必需的文档和数据库管理、用户界面设计、 与机器设备及其他软件进行通信等功能;而后期的开发, 完全可以使用Python实现系统模拟及算法优化。最后,整个应用程序是跨平台的, 开发可以在 Windows平台上进行,在实际使用中,则是部署到 Debian Linux平台中,而不受任何商用软件的使用条款限制。