用Python做科学计算

最后更新于:2022-04-01 11:14:49

# 用Python做科学计算 版权声明 本书的著作权归作者(HYRY Studio)所有。你可以: * 下载、保存以及打印本书 * 网络链接、转载本书的部分或者全部内容,但是必须在明显处提供读者访问本书发布网站的链接 * 在你的程序中任意使用本书所附的程序代码,但是由本书的程序所引起的任何问题,作者不承担任何责任 你不可以: * 以任何形式出售本书的电子版或者打印版 * 擅自印刷、出版本书 * 以纸媒出版为目的,改写、改编以及摘抄本书的内容 * 在课程设计、毕业设计以及作业中大段摘抄本书文字,或直接使用本书的程序代码 使用说明 本书使用[reStructuredText](http://docutils.sourceforge.net/rst.html)编写,采用[Sphinx](http://sphinx.pocoo.org)发布。在此基础上添加了评论功能,你可以在hyry.dip.jp的在线版本中点击章节标题前面的评论按钮,对每个章节进行评论。推荐使用IE7.0以上、FireFox、Google Chome等浏览器阅读本书。 本书有两个镜像地址: * [http://hyry.dip.jp/pydoc](http://hyry.dip.jp/pydoc) (每日更新) * [http://pyscin.appspot.com/html/index.html](http://pyscin.appspot.com/html/index.html) (每周更新) 请使用下面的链接下载各种打包版本,其中Html打包版本格式最为正确,CHM和PDF版都多少有些问题。 [下载Html打包版](http://hyry.dip.jp/files/scipydoc.zip) [下载CHM版](http://hyry.dip.jp/files/scipydoc.chm) [下载PDF版](http://hyry.dip.jp/files/scipydoc.pdf) [下载源代码](http://hyry.dip.jp/files/scipycode.zip) 另外,你还可以通过[Google文档](http://docs.google.com/leaf?id=0B6aBwV_8NoD-ZjBkNmYxMjUtMTVkOC00MGI1LTg2M2UtMTk0MzhiMzRiNWZi&hl=en)和 [ZoomQuiet.org](http://www.zoomquiet.org/share/doc/HYRY-scipydoc/)(国内下载快速)下载PDF版本 请查看 [_最近更新_](update_list.html) 了解最新添加的内容 关于HYRY Studio * HYRY Studio首页: [http://hyry.dip.jp](http://hyry.dip.jp) * 博客地址: [http://hyry.dip.jp/blogt.py](http://hyry.dip.jp/blogt.py) Python是一种面向对象的、动态的程序设计语言。具有非常简洁而清晰的语法,适合于完成各种高层任务。它既可以用来快速开发程序脚本,也可以用来开发大规模的软件。 随着NumPy, SciPy, Matplotlib, Enthought librarys等众多程序库的开发,Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛,有更多的程序库的支持。虽然Matlab中的许多高级功能和toolbox目前还是无法替代的,不过在日常的科研开发之中仍然有很多的工作是可以用Python代劳的。 本书将介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D、3D图像;如何设计精巧的程序界面;如何和C语言所编写的高速计算程序结合;如何编写声音、图像处理算法。 阅读本书你需要学习过Python语言的一些基础知识,对面向对象的程序开发有所了解。有关Python语言基础的知识,可以参考: 啄木鸟社区的Python图书概览: [http://wiki.woodpecker.org.cn/moin/PyBooks](http://wiki.woodpecker.org.cn/moin/PyBooks) 本书中的所有示例均在Windows XP系统下采用Python(x,y)通过测试。如果你觉得安装众多的Python程序库很麻烦,不妨下载安装Python(x,y)。请阅读:[_软件包的安装和介绍_](install.html) ## 基础篇 科学计算所用到的各种库的入门介绍 * [软件包的安装和介绍](install.html) * [安装软件包](install.html#id2) * [函数库介绍](install.html#id7) * [NumPy-快速处理数据](numpy_intro.html) * [ndarray对象](numpy_intro.html#ndarray) * [ufunc运算](numpy_intro.html#ufunc) * [矩阵运算](numpy_intro.html#id8) * [文件存取](numpy_intro.html#id9) * [SciPy-数值计算库](scipy_intro.html) * [最小二乘拟合](scipy_intro.html#id1) * [函数最小值](scipy_intro.html#id2) * [非线性方程组求解](scipy_intro.html#id3) * [B-Spline样条曲线](scipy_intro.html#b-spline) * [数值积分](scipy_intro.html#id4) * [解常微分方程组](scipy_intro.html#id5) * [滤波器设计](scipy_intro.html#id6) * [用Weave嵌入C语言](scipy_intro.html#weavec) * [SymPy-符号运算好帮手](sympy_intro.html) * [封面上的经典公式](sympy_intro.html#id1) * [球体体积](sympy_intro.html#id2) * [matplotlib-绘制精美的图表](matplotlib_intro.html) * [快速绘图](matplotlib_intro.html#id2) * [绘制多轴图](matplotlib_intro.html#id4) * [配置文件](matplotlib_intro.html#id5) * [Artist对象](matplotlib_intro.html#artist) * [Traits-为Python添加类型定义](traits_intro.html) * [背景](traits_intro.html#id1) * [Traits是什么](traits_intro.html#traits) * [动态添加Trait属性](traits_intro.html#trait) * [Property属性](traits_intro.html#property) * [Trait属性监听](traits_intro.html#id2) * [TraitsUI-轻松制作用户界面](traitsUI_intro.html) * [缺省界面](traitsUI_intro.html#id1) * [自定义界面](traitsUI_intro.html#id2) * [配置视图](traitsUI_intro.html#id3) * [Chaco-交互式图表](chaco_intro.html) * [面向脚本绘图](chaco_intro.html#id1) * [面向应用绘图](chaco_intro.html#id2) * [TVTK-三维可视化数据](tvtk_intro.html) * [TVTK使用简介](tvtk_intro.html#id1) * [TVTK的改进](tvtk_intro.html#id7) * [Mayavi-更方便的可视化](mlab_and_mayavi.html) * [用mlab快速绘图](mlab_and_mayavi.html#mlab) * [Mayavi应用程序](mlab_and_mayavi.html#id1) * [将Mayavi嵌入到界面中](mlab_and_mayavi.html#id2) * [Visual-制作3D演示动画](vpython_intro.html) * [场景、物体和照相机](vpython_intro.html#id1) * [简单动画](vpython_intro.html#id2) * [盒子中反弹的球](vpython_intro.html#id3) * [OpenCV-图像处理和计算机视觉](opencv_intro.html) * [读写图像和视频文件](opencv_intro.html#id1) ## 手册篇 各个库的用户使用手册的翻译 * [Traits使用手册](traits_manual_index.html) * [traits](traits_manual_index.html#id1) * [traits.ui](traits_manual_index.html#traits-ui) * [Visual使用手册](visual_manual_index.html) * [场景窗口](visual_manual_display.html) ## 实战篇 用所学到的东西解决实际问题 * [声音的输入输出](wave_pyaudio.html) * [读写Wave文件](wave_pyaudio.html#wave) * [用pyAudio播放和录音](wave_pyaudio.html#pyaudio) * [用pyMedia播放Mp3](wave_pyaudio.html#pymediamp3) * [数字信号系统](filters.html) * [FIR和IIR滤波器](filters.html#firiir) * [FIR滤波器设计](filters.html#fir) * [IIR滤波器设计](filters.html#iir) * [滤波器的频率响应](filters.html#id6) * [二次均衡器设计工具](filters.html#id7) * [FFT演示程序](fft_study.html) * [FFT知识复习](fft_study.html#id1) * [合成时域信号](fft_study.html#id2) * [三角波FFT演示程序](fft_study.html#id3) * [频域信号处理](frequency_process.html) * [观察信号的频谱](frequency_process.html#id2) * [快速卷积](frequency_process.html#id5) * [Hilbert变换](frequency_process.html#hilbert) * [Ctypes和NumPy](ctypes_numpy.html) * [用ctypes加速计算](ctypes_numpy.html#ctypes) * [用ctypes调用DLL](ctypes_numpy.html#ctypesdll) * [numpy对ctypes的支持](ctypes_numpy.html#numpyctypes) * [自适应滤波器和NLMS模拟](fast_nlms_in_python.html) * [自适应滤波器简介](fast_nlms_in_python.html#id1) * [NLMS计算公式](fast_nlms_in_python.html#id5) * [NumPy实现](fast_nlms_in_python.html#numpy) * [DLL函数的编写](fast_nlms_in_python.html#dll) * [ctypes的python接口](fast_nlms_in_python.html#ctypespython) * [单摆和双摆模拟](double_pendulum.html) * [单摆模拟](double_pendulum.html#id2) * [双摆模拟](double_pendulum.html#id4) * [分形与混沌](fractal_chaos.html) * [Mandelbrot集合](fractal_chaos.html#mandelbrot) * [迭代函数系统(IFS)](fractal_chaos.html#ifs) * [L-System分形](fractal_chaos.html#l-system) ## 附录 * [关于本书的编写](pydoc_write_tools.html) * [本书的编写工具](pydoc_write_tools.html#id2) * [问题与解决方案](pydoc_write_tools.html#id3) * [ReST使用心得](pydoc_write_tools.html#rest) * [未解决的问题](pydoc_write_tools.html#id16) * [最近更新](update_list.html) ## 源程序集 * [源程序集](example_code_list.html)
';