Python科学计算(历时三年,多次修订,精心编写而成 Enthought公司CEO Eric Jones作序推荐)
基本信息
编辑推荐
历时三年,多次修订,精心编写而成
Enthought公司CEO Eric Jones作序推荐
内容简介回到顶部↑
书籍
计算机书籍
《python科学计算》介绍如何用python开发科学计算的应用程序,除了介绍数值计算之外,还着重介绍如何制作交互式的2d、3d图像,如何设计精巧的程序界面,如何与c语言编写的高速计算程序结合,如何编写声音、图像处理算法等内容。书中涉及的python扩展库包括numpy、scipy、sympy、matplotlib、traits、traitsui、chaco、tvtk、mayavi、vpython、opencv等,涉及的应用领域包括数值运算、符号运算、二维图表、三维数据可视化、三维动画演示、图像处理以及界面设计等。
书中以大量实例引导读者逐步深入学习,每个实例程序都有详尽的解释,并都能在本书推荐的运行环境中正常运行。此外,本书附有大量的图表和插图,力求减少长篇的理论介绍和公式推导,以便读者通过实例和数据学习并掌握理论知识。
计算机书籍
《python科学计算》介绍如何用python开发科学计算的应用程序,除了介绍数值计算之外,还着重介绍如何制作交互式的2d、3d图像,如何设计精巧的程序界面,如何与c语言编写的高速计算程序结合,如何编写声音、图像处理算法等内容。书中涉及的python扩展库包括numpy、scipy、sympy、matplotlib、traits、traitsui、chaco、tvtk、mayavi、vpython、opencv等,涉及的应用领域包括数值运算、符号运算、二维图表、三维数据可视化、三维动画演示、图像处理以及界面设计等。
书中以大量实例引导读者逐步深入学习,每个实例程序都有详尽的解释,并都能在本书推荐的运行环境中正常运行。此外,本书附有大量的图表和插图,力求减少长篇的理论介绍和公式推导,以便读者通过实例和数据学习并掌握理论知识。
作译者回到顶部↑
本书提供作译者介绍
张若愚,毕业于华中理工大学(现华中科技大学)通信工程专业,2004年获日本姬路工业大学(现兵库县立大学)硕士学位。毕业后于日本神户制钢综合研究所从事研究开发工作至今,研究方向为:嵌入式DSP信号处理系统开发,嵌入式MCU控制系统开发,工业控制软件开发,信号处理、数据处理以及生产系统的计算机模拟。在工作中他积极采用Python作为主要编程语言,在数据处理、信号分析、工业控制、算法模拟等领域取得了较好的研究成果。已完成的研究课题有:嵌入式声音分离系统、车载音响设备、超声波探伤系统、压缩机.. << 查看详细
目录回到顶部↑
《python科学计算》
第1章 软件包的安装和介绍 1
1.1 python简介 1
1.2 安装软件包 2
1.2.1 python(x,y) 2
1.2.2 enthought python distribution(epd) 3
1.3 方便的开发工具 3
1.3.1 ipython 4
1.3.2 spyder 8
1.3.3 wing ide 101 12
1.4 函数库介绍 13
1.4.1 数值计算库 13
1.4.2 符号计算库 14
1.4.3 界面设计 14
1.4.4 绘图与可视化 14
1.4.5 图像处理和计算机视觉 15
第2章 numpy——快速处理数据 16
2.1 ndarray对象 16
2.1.1 创建数组 16
2.1.2 存取元素 21
第1章 软件包的安装和介绍 1
1.1 python简介 1
1.2 安装软件包 2
1.2.1 python(x,y) 2
1.2.2 enthought python distribution(epd) 3
1.3 方便的开发工具 3
1.3.1 ipython 4
1.3.2 spyder 8
1.3.3 wing ide 101 12
1.4 函数库介绍 13
1.4.1 数值计算库 13
1.4.2 符号计算库 14
1.4.3 界面设计 14
1.4.4 绘图与可视化 14
1.4.5 图像处理和计算机视觉 15
第2章 numpy——快速处理数据 16
2.1 ndarray对象 16
2.1.1 创建数组 16
2.1.2 存取元素 21
前言回到顶部↑
Python是一种面向对象的、动态的程序设计语言,具有非常简洁而清晰的语法,既可以用于快速开发程序脚本,也可以用于开发大规模的软件,特别适合于完成各种高层任务。
随着NumPy、SciPy、matplotlib、ETS①等众多程序库的开发,Python越来越适合于做科学计算。与科学计算领域最流行的商业软件MATLAB相比,Python是一门真正的通用程序设计语言,比MATLAB所采用的脚本语言的应用范围更广泛,有更多程序库的支持,适用于Windows和Linux等多种平台,完全免费并且开放源码。虽然MATLAB中的某些高级功能目前还无法替代,但是对于基础性、前瞻性的科研工作和应用系统的开发,完全可以用Python来完成。
本书介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,还着重介绍了如何制作交互式二维、三维图像,如何设计精巧的程序界面,如何与C语言编写的高速计算程序结合,如何编写声音、图像处理算法等内容。
由于Python的相关资源非常多,本书不可能全部涉及,相信读者在掌握本书所介绍的一些相关知识之后,只要充分利用互联网的搜索功能,就一定能够很快地找到合适的Python解决方案。此外,由于绝大多数Python资源都开放源代码,因此读者将会很容易地对感兴趣的内容进行深度挖掘和研究。
本书适合于工科高年级本科生、研究生、工程技术人员以及计算机开发人员阅读。实例篇以信号处理为主,通过简单易懂的Python源程序,实际演示信号处理的一些基础知识和原理,因此特别适合于相关专业的学生作为扩展视野的补充阅读教材。
阅读本书的读者需要掌握Python语言的一些基础知识,下面是一个“自我检测列表”,如果读者熟悉下述内容,阅读本书的实例源代码就应该没有困难。此外由于Python程序简单易读,即使读者没有接触过Python,也可以边阅读本书边通过其他书籍或免费教程学习Python。
● 基本语法:库的载入(import)、循环(for、while)、判断(if)、函数定义(def)
● 基本数据类型的用法:列表(list)、字典(dict)、元组(tuple)、字符串
● 面向对象的基本语法:类(class)、继承
● C语言编程的基础知识②
随着NumPy、SciPy、matplotlib、ETS①等众多程序库的开发,Python越来越适合于做科学计算。与科学计算领域最流行的商业软件MATLAB相比,Python是一门真正的通用程序设计语言,比MATLAB所采用的脚本语言的应用范围更广泛,有更多程序库的支持,适用于Windows和Linux等多种平台,完全免费并且开放源码。虽然MATLAB中的某些高级功能目前还无法替代,但是对于基础性、前瞻性的科研工作和应用系统的开发,完全可以用Python来完成。
本书介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,还着重介绍了如何制作交互式二维、三维图像,如何设计精巧的程序界面,如何与C语言编写的高速计算程序结合,如何编写声音、图像处理算法等内容。
由于Python的相关资源非常多,本书不可能全部涉及,相信读者在掌握本书所介绍的一些相关知识之后,只要充分利用互联网的搜索功能,就一定能够很快地找到合适的Python解决方案。此外,由于绝大多数Python资源都开放源代码,因此读者将会很容易地对感兴趣的内容进行深度挖掘和研究。
本书适合于工科高年级本科生、研究生、工程技术人员以及计算机开发人员阅读。实例篇以信号处理为主,通过简单易懂的Python源程序,实际演示信号处理的一些基础知识和原理,因此特别适合于相关专业的学生作为扩展视野的补充阅读教材。
阅读本书的读者需要掌握Python语言的一些基础知识,下面是一个“自我检测列表”,如果读者熟悉下述内容,阅读本书的实例源代码就应该没有困难。此外由于Python程序简单易读,即使读者没有接触过Python,也可以边阅读本书边通过其他书籍或免费教程学习Python。
● 基本语法:库的载入(import)、循环(for、while)、判断(if)、函数定义(def)
● 基本数据类型的用法:列表(list)、字典(dict)、元组(tuple)、字符串
● 面向对象的基本语法:类(class)、继承
● C语言编程的基础知识②
序言回到顶部↑
Python理所当然地被视为一门通用的程序设计语言,非常适合于网站开发、系统管理以及通用的业务应用程序。它为诸如YouTube这样的网站系统、Red Hat操作系统中不可或缺的安装工具以及从云管理到投资银行等大型企业的IT系统提供技术支持,从而赢得了如此高的声誉。Python还在科学计算领域建立了牢固的基础,覆盖了从石油勘探的地震数据处理到量子物理等范围广泛的应用场景。Python这种广泛的适用性在于,这些看似不同的应用领域通常在某些重要的方面是重叠的。易于与数据库连接、在网络上发布信息并高效地进行复杂计算的应用程序对于许多行业是至关重要的,而Python最主要的长处就在于它能让开发者迅速地创建这样的工具。
实际上,Python与科学计算的关系源远流长。吉多?范罗苏姆创建这门语言,还是在他在荷兰阿姆斯特丹的国家数学和计算机科学研究学会(CWI)的时候。当时只是作为“课余”的开发,但是很快其他人也开始为之做出贡献。从1994年开始的头几次Python研讨会,都是在大洋彼岸的科研机构举行的。例如国家标准技术研究所(NIST)、美国地质学会以及劳伦斯利福摩尔国家实验室(LLNL),所有这些都是以科研为中心的机构。当时Python 1.0刚刚发布,与会者们就已经开始打造Python的数学计算工具。10多年过去了,我们欣喜地看到,我们在开发具有惊人能力的工具集以及建设多彩的社区方面做出了如此多的成绩。很合时宜的是,就我所知的第一本涵盖了Python的主要科学计算工具的综合性著作,在另一个海洋之遥的中国编著并出版了。展望今后的十几年,我迫不及待地想看到我们能共同创建出怎样的未来。
吉多他本人并不是科学家或工程师。他在CWI的计算机科学部门时,为了缓解为阿米巴(Amoeba)操作系统创建系统管理工具的痛苦,他创建了Python。当时那些系统管理工具都是用C语言编写的。于是Python就成了填补shell脚本和C语言之间空白的工具。操作系统工具与计算逆矩阵或快速傅立叶变换是完全不同的领域,但是从Python诞生开始,世界各地的许多科学家就成了它最早期的采用者。吉多成功地创建了一门能与他们的C和Fortran代码完美结合的、具有优雅表现力的程序语言。并且,吉多是一位愿意听取建议并添加关键功能的语言设计师,例如支持复数就是专门针对科学领域的。随着NumPy的前身——Numeric的诞生,Python获得了一个高效且强大的数值运算工具,它巩固了在未来几十年中,Python作为领先的科学计算语言的地位。
对于一些人来说,“科学计算编程”会让人联想起Numerical Recipes in C中描述的那些复杂算法,或是研究生们在深夜中努力打造程序的场景。但是真实情况所涵盖的范围更广泛——从底层的算法设计到具有高级绘图功能的用户界面开发。而后者的重要性却常常被忽视了。幸运的是在本书中,作者为我们介绍了科学计算编程所需的各个方面。从NumPy库和SciPy算法工具库的基础开始,介绍了任何科学计算应用程序所需的基本工具。然后,本书很恰当地介绍了二维绘图以及三维可视化库——matplotlib、Chaco、Mayavi。用Traits和TraitsUI进行应用程序和界面开发,以及用Cython、Weave、ctypes和SWIG等与传统的C语言库相互结合等内容在书中也有很好的介绍。除了这些核心的工具之外,本书还介绍了使用SymPy进行数学符号运算以及其他的各种有用的主题。
所有这些主题都被汇编到一本书中真是一件令人欣喜的事情。本书所提供的一站式服务,能够指导读者从最初的入门直到创建一个漂亮的、全功能的分析与模拟应用程序。
Eric Jones
实际上,Python与科学计算的关系源远流长。吉多?范罗苏姆创建这门语言,还是在他在荷兰阿姆斯特丹的国家数学和计算机科学研究学会(CWI)的时候。当时只是作为“课余”的开发,但是很快其他人也开始为之做出贡献。从1994年开始的头几次Python研讨会,都是在大洋彼岸的科研机构举行的。例如国家标准技术研究所(NIST)、美国地质学会以及劳伦斯利福摩尔国家实验室(LLNL),所有这些都是以科研为中心的机构。当时Python 1.0刚刚发布,与会者们就已经开始打造Python的数学计算工具。10多年过去了,我们欣喜地看到,我们在开发具有惊人能力的工具集以及建设多彩的社区方面做出了如此多的成绩。很合时宜的是,就我所知的第一本涵盖了Python的主要科学计算工具的综合性著作,在另一个海洋之遥的中国编著并出版了。展望今后的十几年,我迫不及待地想看到我们能共同创建出怎样的未来。
吉多他本人并不是科学家或工程师。他在CWI的计算机科学部门时,为了缓解为阿米巴(Amoeba)操作系统创建系统管理工具的痛苦,他创建了Python。当时那些系统管理工具都是用C语言编写的。于是Python就成了填补shell脚本和C语言之间空白的工具。操作系统工具与计算逆矩阵或快速傅立叶变换是完全不同的领域,但是从Python诞生开始,世界各地的许多科学家就成了它最早期的采用者。吉多成功地创建了一门能与他们的C和Fortran代码完美结合的、具有优雅表现力的程序语言。并且,吉多是一位愿意听取建议并添加关键功能的语言设计师,例如支持复数就是专门针对科学领域的。随着NumPy的前身——Numeric的诞生,Python获得了一个高效且强大的数值运算工具,它巩固了在未来几十年中,Python作为领先的科学计算语言的地位。
对于一些人来说,“科学计算编程”会让人联想起Numerical Recipes in C中描述的那些复杂算法,或是研究生们在深夜中努力打造程序的场景。但是真实情况所涵盖的范围更广泛——从底层的算法设计到具有高级绘图功能的用户界面开发。而后者的重要性却常常被忽视了。幸运的是在本书中,作者为我们介绍了科学计算编程所需的各个方面。从NumPy库和SciPy算法工具库的基础开始,介绍了任何科学计算应用程序所需的基本工具。然后,本书很恰当地介绍了二维绘图以及三维可视化库——matplotlib、Chaco、Mayavi。用Traits和TraitsUI进行应用程序和界面开发,以及用Cython、Weave、ctypes和SWIG等与传统的C语言库相互结合等内容在书中也有很好的介绍。除了这些核心的工具之外,本书还介绍了使用SymPy进行数学符号运算以及其他的各种有用的主题。
所有这些主题都被汇编到一本书中真是一件令人欣喜的事情。本书所提供的一站式服务,能够指导读者从最初的入门直到创建一个漂亮的、全功能的分析与模拟应用程序。
Eric Jones







点击看大图





加载中...
