科学计算中Python与Matlab的比较

2016-11-08 作者: xuzhiping 浏览: 1182 次 Help edit

摘要: 计算学科(通常也称作计算机科学与技术)作为现代技术的标志,已成为世界各国经济增长的主要动力。在计算机产生之初及随后的一、二十年时间里,计算机主要用于数值计算。大多数科学家认为使用计算机仅为编程问题,不需作任何深刻的科学思考,计算机从本质上说是一种职业而一门学科....

计算学科(通常也称作计算机科学与技术)作为现代技术的标志,已成为世界各国经济增长的主要动力。在计算机产生之初及随后的一、二十年时间里,计算机主要用于数值计算。大多数科学家认为使用计算机仅为编程问题,不需作任何深刻的科学思考,计算机从本质上说是一种职业而一门学科。到了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做科学计算有如下优点:

  • 首先,MATLAB是一款商用软件,并且价格不菲。而Python完全免费,众多开源的科学计算库都提供了Python的调用接口。用户可以在任何计算机上免费安装Python及其绝大多数扩展库。
  • 其次,与MATLAB相比,Python是一门更易学、更严谨的程序设计语言。它能让用户编写出更易读、易维护的代码。
  • 最后,MATLAB主要专注于工程和科学计算。然而即使在计算领域,也经常会遇到文件管理、界面设计、网络通信等各种需求。而Python有着丰富的扩展库,可以轻易完成各种高级任务,开发者可以用Python实现完整应用程序所需的各种功能。

例如,在开发云算笔记的过程中,因为涉及到大量的计算,因此,先用了Python作为开发语言;另外,为了保证开发过程的灵活性,使用了Tornado小型Web框架。开发过程中,使用Python + Tornado,完全实现了 Web 交互、应用程序必需的文档和数据库管理、用户界面设计、与机器设备及其他软件进行通信等功能;而后期的开发,完全可以使用Python实现系统模拟及算法优化。最后,整个应用程序是跨平台的,开发可以在 Windows平台上进行,在实际使用中,则是部署到 Debian Linux平台中,而不受任何商用软件的使用条款限制。

随机推荐

Copyright © 2014-2017 OSGeo中国中心 吉ICP备05002032号

Powered by TorCMS