因为要在Python中用到matlab的有关知识,所以在这里介绍一个新的module-------------numpy,以下内容翻译自:
http://www.scipy.org/NumPy_for_Matlab_Users/#head-611af3a5b2d69937e367b9c6626c33658a1c8629
Introduction
MATLAB 和 NumPy/SciPy有很多共同之处,但也有很大的不同。NumPy 和SciPy 被用于python环境下的数值和科学计算。
Some key Differences
在MATLAB中基本数据类型是一个双精度浮点数的多维数组。大多数表达式采取这样的数组并返回这样的数组。这些数组操作在二维上或多或少的被设计成像线性代数中矩阵运算。 | 在NumPy中,基本类型是一个多维数组,这些数组在所有维度,包括二维上的操作都是带有智能的元素操作,它还有一个特殊的矩阵类型用来进行线性代数的操作,这个类型是数组的子类。 |
在MATLAB中索引从1开始 | Python中索引从0开始 |
在MATLAB中脚本语言被用来进行线性代数的操作。基本矩阵运算的语法很简洁,但是加入GUI和一些应用的或多或少有点事后的想法 | Matlab的语法对于一些数组操作比NumPy更紧凑的,但是NumPy能做一些Matlab做不到的事,例如子类化主数组类型对于数组和矩阵的计算简洁。
|
在MATLAB中数组按值传递,一个惰性的即写即拷来防止真正创建副本,直到他们真正需要,片操作用来复制数组的部分。 | 在NumPy中数组按引用传递,片操作可以改变原始数组 |
在MATLAB中,所有函数必须在同名的文件中,你不能定义本地函数在一个普通的脚本文件或在命令提示符下。 | NumPy代码是python代码,所以没有这样的限制,你可以任意定义函数 |
MATLAB有一个复杂的二维和三维绘图系统,用户界面小部件。 | Matplotlib是一个成熟的二维绘图库,仿真MATLAB界面。没有限定、一体化,易于使用的,内置的二维和三维绘图的解决方案。这是Numpy / Scipy可以用来工作的一个地方。 |
MATLAB提供了一个完整的开发环境和命令交互窗口,集成编辑器和调试器。 | Numpy没有一个标准的IDE。然而,IPython环境提供了一个复杂的命令提示符,帮助,和调试支持,Matplotlib库绘图用来绘图的接口和Emacs / XEmacs编辑。 |