2007年11月8日星期四

[python] Numpy、scipy、Matplotlib的学习

今天,重新捡起几个月前用scipy编写的非线性分析程序(主要用他进行非线性方程求解),发现numpy升级了。下载一下,记录一下。

http://www.scipy.org/

现在的numpy是2007.11.7(昨天)更新的1.04版本,而scipy是0.600版本了。python的编程给人以轻松愉快的感觉,安装上numpy和scipy的python更是具有强大的数值计算功能。

国内介绍scipy的并不多,下面是一篇

支持Python系列:Matlab的Python实现Scipy和Matplotlib简介


节选一些
" SciPy 是一个基于 Python 的项目,它旨在再现 MATLAB 的所有功能,优化其性能并简化与其它软件的集成,同时仍保持完全免费以及至少和 MATLAB 一样易于使用。" (http://www-128.ibm.com/developerworks/cn/linux/l-oslab/index.html) Scipy每年都有SciPy Conference,目前的版本还是04年的0.3.2,需要Python2.3 wxPython2.4 Numeric23等支持。Scipy的结构是scipy_core和scipy_lib两个部分,不过自己编译比较麻烦,要C和Fortran编译器。 如果你需要比较完整的Matlab功能支持,可以选择它。建议安装Enhanced Python (http://www.enthought.com/python/) ,一次安装,该有的都有了。…………

而要实现多一些绘图功能,则可以选用MATplotlib。
同样是上面的blog网址,给出了下面的介绍
“Matplotlib 是一个由 John Hunter 等开发的,用以绘制二维图形的 Python 模块。它利用了 Python 下的数值计算模块 Numeric 及 Numarray,克隆了许多 Matlab 中的函数, 用以帮助用户轻松地获得高质量的二维图形。Matplotlib 可以绘制多种形式的图形包括普通的线图,直方图,饼图,散点图以及误差线图等;可以比较方便的定制图形的各种属性比如图线的类型,颜色,粗细,字体的大小 等;它能够很好地支持一部分 TeX 排版命令,可以比较美观地显示图形中的数学公式。Matplotlib 掌握起来也很容易,由于 Matplotlib 使用的大部分函数都与 Matlab 中对应的函数同名,且各种参数的含义,使用方法也一致,这就使得熟悉 Matlab 的用户使用起来感到得心应手。对那些不熟悉的 Matlab 的用户而言,这些函数的意义往往也是一目了然的,因此只要花很少的时间就可以掌握。”

此处更有韦建明,蔡晓睿 (wei@uni-duisburg.de)给出的实例
http://www-128.ibm.com/developerworks/cn/linux/l-matplotlib/?ca=dwcn-newsletter-linux

还可以支持部分的latex,很不错。
转载贴图