【发布时间】:2011-07-01 02:04:57
【问题描述】:
我最近一直在考虑改用 Python 编程语言。目前,Matlab 是我部门快速开发和代码原型设计的首选语言。它在这方面做得很好,但是 Mathworks(生产 Matlab 的公司)一直在修改许可条款,导致了不应该存在的麻烦。
【问题讨论】:
-
您可以详细说明您的特定需求(例如使用的特定工具箱是什么)。谢谢
我最近一直在考虑改用 Python 编程语言。目前,Matlab 是我部门快速开发和代码原型设计的首选语言。它在这方面做得很好,但是 Mathworks(生产 Matlab 的公司)一直在修改许可条款,导致了不应该存在的麻烦。
【问题讨论】:
我发现 python+numpy+scipy+matplotlib+IPython+[random sci/numerical packages] 几乎可以完全替代 matlab。肯定有一些包丢失了,所以如果有一组专门的工具在 matlab 中可用但在 python 中没有,这可能是一个问题,但否则,我没有回头。
我将提到 python 相对于 matlab 的几个明显优势
我个人在很多工作中都使用 Enthought Python Distribution,因为它打包了所有内容,并且对学术界的个人免费。我也可以从头开始构建 python 及其所有库和模块。模块管理可能是 python 中最大的弱点,但也有一些不错的东西可以提供帮助,例如 virtualenv 和 pip
【讨论】:
pip 最近正在逐步解决变化),不是命名空间,“Namespaces are one honking great idea -- let's do more of those!”.
选择取决于成本。如果您乐意为 Matlab 付费——尤其是如果您使用工具箱——您可能会发现 Python 不提供这样的集成包。将矩阵作为基本数据类型使 Matlab 成为许多数学任务的直观语言。就个人而言,我发现 this 与调试器相结合是非常宝贵的。
Python 通过 NumPy、SciPy 等提供相同的功能。当然会有一个学习曲线需要克服。
如果您正在执行一般编程任务,而不是特别应用数学解决方案,那么 Python 是一种非常易于使用且适应性强的语言。它也是免费的 - 这可能是一个决定性因素。
【讨论】:
如果您正在寻找批发的 Matlab 替代品,您可能需要查看 Python(x, y)。它旨在提供更具凝聚力的体验,而不是让新用户自己在互联网上搜寻合适的组件来使用。
另一个选项是GNU Octave,它本质上是 MATLAB 的开源克隆。
【讨论】:
在许多情况下,Python 当然可以用作 Matlab 的替代品,通过使用 NumPy、SciPy 和 Matplotlib(请参阅我的 development environment setup guide 了解如何安装所有这些包)。但是,Matlab 在某些方面做得更好,例如提供与数据收集硬件接口的库。所以你需要试试 Python 看看它是否满足你的要求。
【讨论】:
你是否应该切换取决于你对 Python 的看法。我自己喜欢 Python,而且我知道它对于快速原型设计非常有效。语法简洁明快,非常容易学习。
要做出决定,我建议您访问主页Python.org,并查看文档。
【讨论】:
只需下载scipy 并尝试一下。
【讨论】: