如果这个问题太笼统,我先向您道歉。我来自MATLAB世界,对Python的经验很少。
在花了一些时间阅读了一些基于Python的科学计算环境和发行版之后,我感到我仍然不完全了解解决方案的前景或一些著名软件包之间的精确关系,包括:
进一步来说:
不太重要的是,是否还有其他与上述软件包相似的,提供相似功能的软件包?
提前致谢
使用Python进行的科学计算采用了普通的通用语言,并使用了一系列模块,每个模块都实现了MATLAB功能的某些方面。因此,使用Python科学编程的经验与MATLAB相比并不太紧密。但是,Python作为一种语言要干净得多。这样吧。
在Python科学计算的基本需要的模块Numpy,Matplotlib,SciPy如果你正在做的3D绘图,然后Mayavi/VTK。这些模块都依赖于Numpy。
Numpy
Matplotlib
SciPy
Mayavi/VTK
Numpy 实现一种行为类似于MATLAB数组(即快速矢量计算)的新数组类型。它还定义了执行这些计算的函数负载,这些函数的名称通常与MATLAB中的相似函数相同。
Matplotlib 允许使用与MATLAB非常相似的命令进行二维绘图。Matplotlib还定义了 pylab ,这是一个模块- 只需一次导入-即可将大多数Numpy和Matplotlib函数带入全局名称空间。这对于不想输入大量名称空间前缀的快速/交互式脚本很有用。
SciPy 是排列在SciPy框架下的Python模块的集合,对科学家很有用。拟合例程在SciPy模块中提供。Numpy是Scipy的一部分。
Spyder 是一个桌面IDE(基于QT),可以轻松地模拟MATLAB IDE。它是Python-XY发行版的一部分。
IPython 提供了增强的交互式Python shell,可用于试用代码,运行脚本以及与结果进行交互。现在可以将其提供给Web界面以及传统控制台。它还嵌入在Spyder IDE中。
在计算机上运行所有这些模块可能很耗时,因此有一些发行版可以打包它们(以及许多其他模块)。
Python-XY , WinPython , Enthought 以及最近的 Anaconda 都是完整的软件包发行版,包括所有核心模块,尽管Spyder并未随附Enthought。
Sage 是另一种编程环境,可以通过Web或通过命令行提供服务,也可以作为一个完整的软件包来使用,其中包括许多其他模块。传统上,它是基于Linux安装的VMWare映像而来的。尽管您是在Sage环境中编写Python的,但它与普通的Python编程有所不同,它基于Python定义了自己的语言和方法。
如果您使用Windows,我将安装WinPython。它安装了您需要的所有内容,包括Scipy和Spyder(这是MATLAB的IMHO的最佳替代品),并且由于它是独立设计的,因此不会干扰您在系统上安装的其他Python。如果您使用的是OSX,最好的方法就是使用Enthought- 可以使用MacPorts单独安装Spyder。对于Linux,您可以分别安装组件(Numpy,SciPy,Spyder,Matplotlib)。
我个人不喜欢Sage方式“隐藏在后台”使用Python,但您可能更喜欢这种方式。