科学计算:Python VS. MATLAB (1)----给我一个理由先
        MATLAB 是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。使用 MATLAB,您可以较使用传统的编程语言(如 C、C++ 和 Fortran)更快地解决技术计算问题。(官网:http://www.mathworks.com/matlabcentral/linkexchange/links/1573-matlab-科学计算语言)
        随着MATLAB工具箱的不断添加和完善,M语言也逐渐成为工程界的准通用标准语言,官网称:MATLAB - The Language Of Technical Computing。大学理工科专业一般都开设了或选修或必修的MATLAB相关课程。很多新出版的教材,计算机辅助教学的工具软件开始选用MATLAB。MATLAB以其简洁易学的语法、友好的界面和完善的文档系统逐渐深入人心并将继续扩大它的控制领地。
        然而,MATLAB也有着很大的局限性。首先,是价格。作为一款商业软件,获得正版授权,价格不菲。就说最便宜的学生版,核心组件单个授权要花99刀,想使用额外工具箱,则是每个工具箱29刀。(http://www.mathworks.com/store/platformReleaseStuSubmit.do) 正如你能想到的,商业版本更贵。其次,是版权。mathworks论坛活跃着很多用户,也有很多有价值的代码,但是,版权归mathworks公司,要想使用必须获得它的授权。再次,是语言完善性。MATLAB进行数学计算的表现无可置疑,但是实际的科学计算还有文件操作、界面设计等任务。MATLAB在这些领域功能较弱或者很麻烦。应该可以说,MATLAB不是一种完善的语言。
        穷则思变。这时,我们发现了Python。MATLAB的以上不足,恰是Python的优势。
       首先,Python完全免费(http://python.org/),绝大多数科学计算相关扩展库也都是免费的,大多也都是是开源的,所以金钱问题完全不用考虑。版权问题也基本不用考虑,众多的实例程序可以让你拿去就用。(有时候也需要考虑,因为有些授权,如GPL授权,具有“传染性”)。考虑控制版权更严格的诸如美国之类的国家,有着众多的研究人员和大学生使用Python,并有很多网络提供了交流平台,在这个平台可以获得更多的交流学习机会。其次,Python是一门更易学更严谨的面向对象的程序设计语言。作为通用程序设计语言的Python,有更为严格清晰的语法,可以轻易完成界面、文件、封装等高阶需求。最后,不得不提的就是性能。MATLAB作为科学计算工具,经过了近乎苛刻的优化,Python呢?实话说,纯Python的速度确实不怎么地,但是使用Python的科学计算扩展库numpy、scipy等之后,速度和MATLAB不相上下。(http://www.scipy.org/PerformancePython#head-a73fa06d3c4f3bda71b3526d30d51c492d8f80df)
        以上理由似乎足以让我们割爱MATLAB,选择使用“Python+扩展”来完成科学计算问题。然而,我想起班固的名言“爱而知其恶”,Python进行科学计算是不是完美?又有哪些劣势呢?Google了一阵子,发现大致是这样:第一,因为沉浸在开源的环境下,想私藏代码似乎不是那么容易了,甚至不好意思了。第二,文档系统不是很完善,中文的更是少之又少,这就要求一定的英语文档阅读功底。不过MATLAB至今也没有提供过中文的文档。第三,MATLAB中的有些生僻的专用工具箱没有Python环境下的对应模块功能实现。第四,貌似没有第四了。
        以上对比不敢说写的就对,后续有关具体技术和代码的文章更是可能会有重大错误甚至误导。之所以还敢写出来,放到这里,权当借此平台和同道中人进行交流、切磋。文章假设您有初级的Python基础,这样就可以把重心放到科学计算而不是纯粹的语言上来;也假设您有一定的MATLAB基础,因为文中经常拿两者来对比并给出两者的各自实现。欢迎批评!(uabuntsu@gmail.com)

科学计算:Python VS. MATLAB (1)----给我一个理由先相关推荐

  1. matlab科学计算及分析,matlab科学计算

    spContent=当前,科学计算已经成为科学研究.技术创新的重要方法与手段,而作为实现工具的科学计算软件无疑具有至关重要的作用.MATLAB为众多领域的计算问题提供了全面的解决方案,代表了当今国际科 ...

  2. qtableview与sqlite使用显示科学计算_使用MATLAB Profiler提升程序运行的效率

    很多同学在研究和学习的过程中都会经常使用 MATLAB.很多时候当编好一个程序之后,我们发现程序运行的效率达不到预想的要求.盲目的去找程序的缺陷往往既花时间也没有什么太大效果.这里我想告诉大家 MAT ...

  3. matlab R2011a汉化包,《科学计算语言》(Mathworks Matlab)R2011a Win/UNIX[光盘镜像]

    中文名: 科学计算语言 英文名: Mathworks Matlab 资源格式: 光盘镜像 版本: R2011a Win/UNIX 发行时间: 2011年 制作发行: The MathWorks, In ...

  4. python读取matlab数据_两分钟搞定Python读取matlab的.mat数据

    Matlab是学术界非常受欢迎的科学计算平台,matlab提供强大的数据计算以及仿真功能.在Matlab中数据集通常保存为.mat格式.那么如果我们想要在Python中加载.mat数据应该怎么办呢?所 ...

  5. matlab读取.mb15格式数据,两分钟搞定Python读取matlab的.mat数据

    Matlab是学术界非常受欢迎的科学计算平台,matlab提供强大的数据计算以及仿真功能.在Matlab中数据集通常保存为.mat格式.那么如果我们想要在Python中加载.mat数据应该怎么办呢?所 ...

  6. 全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?

    数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.Python 会有哪些最为独特的优势呢?又存在哪些让开发者无力的缺陷?在本文中,我们将 ...

  7. 科学计算:Python VS. MATLAB(3)----线性代数基础

    科学计算:Python VS. MATLAB(3)----线性代数基础 按:在介绍工具之前先对理论基础进行必要的回顾是很必要的.没有理论的基础,讲再多的应用都是空中楼阁.本文主要设涉及线性代数和矩阵论 ...

  8. 科学计算:Python VS. MATLAB(4)----图形系统简介

    科学计算:Python VS. MATLAB(4)----图形系统简介 一.一般概念 图形系统就是用来实现所谓的可视化的.在学习具体的命令之前,先了解一个可视化的图形具有哪些特征,以及这些特征具有什么 ...

  9. python科学计算包与matlab_做科学计算用Python还是MATLAB?

    网友解答: 用Python,我给出用Python的几点个人见解: 1.2017人工智能(其中也包括科学计算)也火了一年了,Python的使用人数大大上升,大势所趋. 2.Python的开发效率要远远高 ...

最新文章

  1. 如何处理APF框架的错误消息:Filter is too complex error
  2. Jeecg-Boot2.1.2 版本,手工集成Online在线开发模块(Online表单、Online报表)
  3. 最好用的Unity代码编辑器Rider如何免费申请?
  4. EASYSIZE备份
  5. 为什么读大学时做学术比搞项目重要?
  6. unordered_map 简介
  7. iOS申请邓白氏总结
  8. 1-7 Burpsuite 爬虫介绍
  9. 程序员学习的5个国外网站推荐
  10. 5g空分复用技术_【从零开始学5G】空分复用与Pre5G
  11. STM32F103CB控制超声波HCSR04可用程序
  12. c语言设计一个学生成绩管理系统,用C语言设计的学生成绩管理系统1.doc
  13. k6新一代性能测试工具
  14. PRML学习笔记--似然函数到底是什么
  15. 《厚黑学》| 读书三诀
  16. 如何使用开源CMS建设网站
  17. 动作捕捉系统用于微创手术
  18. 手机必备的5个宝藏APP,个个用了一次都不想卸载,舍不得分享
  19. 潮牌服装专卖店装饰CAD图,设计属于自己的高档店!
  20. c语言 在庆祝活动中ABC三艘军舰要同时开始鸣放礼炮各21响。已知A军舰每隔5秒放1次,B军舰每隔6秒放1次,C军舰每隔7秒放1次。假设各炮手对时间的掌握非常准确,请问观众总共可以听到几次礼炮声?

热门文章

  1. MONO源码编译笔记-版本:unity-2018.4-mbe
  2. VULKAN学习资料收集
  3. LUA GC 简单测试
  4. HanLP极致简繁转换详细讲解
  5. Flume NG 简介及配置实战
  6. RESTful设计原则和样例(开发前后台接口)
  7. cometD离线消息
  8. Log4net 中输出日志到文件,文件名根据日期生成
  9. ACL在路由器上设置例子
  10. 继续VISTA下网卡驱动问题