python科学计算是张若愚先生一个著作,张若愚先生毕业于华中理工大学(现华中科技大学)通信工程专业,2004年获日本姬路工业大学(现兵库县立大学)硕士学位。python科学计算介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,还着重介绍如何制作交互式的2D、3D图像,如何设计精巧的程序界面,如何与C语言编写的高速计算程序结合,如何编写声音、图像处理算法等内容。书中涉及的Python扩展库包括NumPy、SciPy、SymPy、matplotlib、Traits、TraitsUI、Chaco、TVTK、Mayavi、VPython、OpenCV等,涉及的应用领域包括数值运算、符号运算、二维图表、三维数据可视化、三维动画演示、图像处理以及界面设计等。

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

2.1.3 多维数组 24

2.1.4 结构数组 29

2.1.5 内存结构 32

2.2 ufunc运算 35

2.2.1 四则运算 37

2.2.2 比较和布尔运算 39

2.2.3 自定义ufunc函数 40

2.2.4 广播 42

2.2.5 ufunc函数的方法 46

2.3 多维数组的下标存取 48

2.3.1 下标对象 48

2.3.2 整数数组作为下标 49

2.3.3 一个复杂的例子 51

2.3.4 布尔数组作为下标 53

2.4 庞大的函数库 54

2.4.1 求和、平均值、方差 54

2.4.2 最值和排序 55

2.4.3 多项式函数 57

2.4.4 分段函数 60

2.4.5 统计函数 62

2.5 线性代数 65

2.5.1 各种乘积运算 65

2.5.2 解线性方程组 67

2.6 掩码数组 69

2.7 文件存取 72

2.8 内存映射数组 75

第3章 SciPy――数值计算库 79

3.1 常数和特殊函数 79

3.2 优化――optimize 81

3.2.1 最小二乘拟合 81

3.2.2 函数最小值 84

3.2.3 非线性方程组求解 86

3.3 插值――interpolate 88

3.3.1 B样条曲线插值 88

3.3.2 外推和Spline拟合 90

3.3.3 二维插值 91

3.4 数值积分――integrate 93

3.4.1 球的体积 93

3.4.2 解常微分方程组 95

3.5 信号处理――signal 97

3.5.1 中值滤波 97

3.5.2 滤波器设计 98

3.6 图像处理――ndimage 100

3.6.1 膨胀和腐蚀 101

3.6.2 Hit和Miss 102

3.7 统计――stats 105

3.7.1 连续和离散概率分布 105

3.7.2 二项、泊松、伽玛分布 108

3.8 嵌入C语言程序――weave 112

第4章 SymPy――符号运算好帮手 115

4.1 从例子开始 115

4.1.1 封面上的经典公式 115

4.1.2 球体体积 117

4.2 数学表达式 119

4.2.1 符号 119

4.2.2 数值 121

4.2.3 运算符和函数 122

4.3 符号运算 125

4.3.1 表达式变换和化简 125

4.3.2 方程 128

4.3.3 微分 129

4.3.4 微分方程 130

4.3.5 积分 131

4.4 其他功能 133

4.4.1 平面几何 133

4.4.2 绘图 135

第5章 matplotlib――绘制精美

的图表 139

5.1 快速绘图 139

5.1.1 使用pyplot模块绘图 139

5.1.2 以面向对象方式绘图 142

5.1.3 配置属性 143

5.1.4 绘制多个子图 145

5.1.5 配置文件 147

5.1.6 在图表中显示中文 149

5.2 Artist对象 152

5.2.1 Artist对象的属性 154

5.2.2 Figure容器 155

5.2.3 Axes容器 156

5.2.4 Axis容器 159

5.2.5 Artist对象的关系 163

5.3 坐标变换和注释 164

5.3.1 4种坐标系 167

5.3.2 坐标变换的步骤 169

5.3.3 制作阴影效果 173

5.3.4 添加注释 174

5.4 绘图函数简介 177

5.4.1 对数坐标图 177

5.4.2 极坐标图 178

5.4.3 柱状图 179

5.4.4 散列图 180

5.4.5 图像 181

5.4.6 等值线图 184

5.4.7 三维绘图 187

第6章 Traits――为Python添加类型

定义 190

6.1 开发背景 190

6.2 Trait属性的功能 192

6.3 Trait类型对象 196

6.4 Trait的元数据 198

6.5 预定义的Trait类型 200

6.6 Property属性 204

6.7 Trait属性监听 206

6.8 Event和Button属性 210

6.9 Trait属性的从属关系 211

6.10 动态添加Trait属性 213

6.11 创建自己的Trait类型 215

6.11.1 从TraitType继承 215

6.11.2 使用Trait() 217

6.11.3 定义TraitHandler类 219

第7章 TraitsUI――轻松制作用户

界面 221

7.1 默认界面 221

7.2 用View定义界面 222

7.2.1 外部视图和内部视图 222

7.2.2 多模型视图 226

7.2.3 Group对象 228

7.2.4 配置视图 231

7.3 用Handler控制界面和模型 232

7.3.1 用Handler处理事件 233

7.3.2 Controller和UIInfo对象 237

7.3.3 响应Trait属性的事件 238

7.4 属性编辑器 240

7.4.1 编辑器演示程序 241

7.4.2 对象编辑器 243

7.4.3 字符串列表编辑器 248

7.4.4 对象列表编辑器 250

7.5 菜单、工具条和状态栏 252

7.6 设计自己的编辑器 255

7.6.1 Trait编辑器的工作原理 255

7.6.2 制作matplotlib的编辑器 259

7.6.3 CSV数据绘图工具 262

第8章 Chaco――交互式图表 264

8.1 面向脚本绘图 264

8.2 面向应用绘图 265

8.2.1 多条曲线 267

8.2.2 Plot对象的结构 271

8.2.3 编辑绘图属性 275

8.2.4 容器(Container) 276

8.3 添加交互工具 279

8.3.1 平移和缩放 279

8.3.2 选取范围 282

8.3.3 选取数据点 284

8.3.4 套索工具 287

8.4 二次开发 289

8.4.1 用Kiva库在数组上绘图 290

8.4.2 Enable库的组件 292

8.4.3 设计圆形选择工具 297

8.4.4 制作动画演示 301

第9章 TVTK――数据的三维可视化 303

9.1 流水线(Pipeline) 304

9.1.1 显示圆锥 304

9.1.2 用ivtk观察流水线 307

9.2 数据集(Dataset) 313

9.2.1 ImageData 313

9.2.2 RectilinearGrid 318

9.2.3 StructuredGrid 319

9.2.4 PolyData 321

9.3 可视化实例 324

9.3.1 切面 325

9.3.2 等值面 330

9.3.3 流线 333

9.4 TVTK的改进 337

9.4.1 TVTK的基本用法 338

9.4.2 Trait属性 339

9.4.3 序列化(Pickling) 339

9.4.4 集合迭代 340

9.4.5 数组操作 341

第10章 Mayavi――更方便的可视化 343

10.1 用mlab快速绘图 343

10.1.1 点和线 343

10.1.2 Mayavi的流水线 345

10.1.3 二维图像的可视化 348

10.1.4 网格面 352

10.1.5 修改和控制流水线 356

10.1.6 标量场 358

10.1.7 矢量场 361

10.2 Mayavi和TVTK之间

的关系 363

10.2.1 显示TVTK流水线 363

10.2.2 两条流水线之间的关系 365

10.3 Mayavi应用程序 367

10.3.1 操作流水线 368

10.3.2 命令行和对象浏览器 371

10.4 将Mayavi嵌入到界面中 374

第11章 VPython――制作3D演示

动画 378

11.1 场景、物体和照相机 378

11.1.1 控制场景窗口 380

11.1.2 控制照相机 383

11.1.3 模型的属性 384

11.1.4 三维模型 387

11.2 制作动画演示 390

11.2.1 简单动画 390

11.2.2 盒子中反弹的球 391

11.3 与场景交互 393

11.3.1 响应键盘事件 394

11.3.2 响应鼠标事件 394

11.4 用界面控制场景 397

11.5 创建复杂模型 400

11.5.1 faces()的用法 400

11.5.2 读入模型数据 402

第12章 OpenCV――图像处理和计算机

视觉 408

12.1 存储图像数据的Mat对象 409

12.1.1 Mat对象和NumPy数组 410

12.1.2 像素点类型 414

12.1.3 其他数据类型 415

12.1.4 Vector类型 417

12.1.5 在图像上绘图 418

12.2 图像处理 421

12.2.1 二维卷积 421

12.2.2 形态学运算 424

12.2.3 填充――floodFill 426

12.2.4 去瑕疵――inpaint 427

12.3 图像变换 428

12.3.1 几何变换 428

12.3.2 重映射――remap 430

12.3.3 直方图统计 433

12.3.4 二维离散傅立叶变换 437

12.4 图像识别 440

12.4.1 用霍夫变换检测直线

和圆 440

12.4.2 图像分割 444

12.4.3 用SURF进行特征匹配 450

第13章 数据和文件 453

13.1 声音的输入输出 453

13.1.1 读写WAV文件 453

13.1.2 用pyAudio播放和录音 456

13.2 视频的输入输出 459

13.2.1 读写视频文件 459

13.2.2 安装视频编码 464

13.3 读写HDF5文件 465

13.4 读写Excel文件 469

13.4.1 写Excel文件 469

13.4.2 读Excel文件 471

第14章 数字信号系统 473

14.1 FIR和IIR滤波器 473

14.2 FIR滤波器设计 477

14.2.1 用firwin()设计滤波器 479

14.2.2 用remez()设计滤波器 481

14.2.3 滤波器的级联 483

14.3 IIR滤波器设计 485

14.3.1 巴特沃斯低通滤波器 485

14.3.2 双线性变换 487

14.3.3 滤波器的频带转换 490

14.4 数字滤波器的频率响应 494

14.5 二次均衡滤波器设计工具 497

14.6 零相位滤波器 500

14.7 重取样 501

第15章 频域信号处理 505

15.1 FFT演示程序 505

15.1.1 FFT知识复习 505

15.1.2 合成时域信号 509

15.1.3 三角波FFT演示程序 511

15.2 观察信号的频谱 512

15.2.1 窗函数 515

15.2.2 频谱平均 517

15.2.3 谱图 519

15.3 卷积运算 522

15.3.1 快速卷积 522

15.3.2 分段运算 524

15.4 信号处理 526

15.4.1 基本框架 527

15.4.2 频域滤波器 528

15.4.3 频率变调处理 530

15.4.4 用谱图差减法降噪 531

15.5 Hilbert变换 532

第16章 用C语言提高计算效率 537

16.1 用ctypes调用DLL库 537

16.2 用Weave嵌入C++程序 541

16.2.1 Weave的工作原理 541

16.2.2 处理NumPy数组 543

16.2.3 使用blitz()提速 546

16.2.4 扩展模块 548

16.3 用Cython将Python编译

成C 549

16.3.1 编译Cython程序 549

16.3.2 提高计算效率 550

16.3.3 快速访问NumPy数组 553

16.4 用SWIG创建扩展模块 555

16.4.1 SWIG的调用方法

和实例 555

16.4.2 SWIG基础 558

16.4.3 SWIG处理NumPy数组 566

第17章 自适应滤波器 571

17.1 自适应滤波器简介 571

17.1.1 系统识别 571

17.1.2 信号预测 572

17.1.3 信号均衡 572

17.2 NLMS计算公式 573

17.3 用NumPy实现NLMS算法 575

17.3.1 系统辨识模拟 577

17.3.2 信号均衡模拟 579

17.3.3 卷积逆运算 581

17.4 用C语言加速NLMS运算 583

17.4.1 用SWIG编写扩展模块 583

17.4.2 用Weave嵌入C++程序 586

第18章 单摆和双摆模拟 588

18.1 单摆模拟 588

18.1.1 小角度时的摆动周期 589

18.1.2 大角度时的摆动周期 590

18.2 双摆模拟 592

18.2.1 公式推导 592

18.2.2 微分方程的数值解 595

18.2.3 动画演示 598

第19章 分形几何 599

19.1 Mandelbrot集合 599

19.1.1 使用NumPy加速计算 601

19.1.2 使用Weave加速计算 603

19.1.3 连续的逃逸时间 604

19.1.4 Mandelbrot演示程序 605

19.2 迭代函数系统(IFS) 606

19.2.1 二维仿射变换 610

19.2.2 迭代函数系统设计器 610

19.3 L-System分形 613

19.4 分形山脉 616

19.4.1 一维中点移位法 616

19.4.2 二维中点移位法 618

19.4.3 菱形方形算法 619

PC官方版

安卓官方手机版

IOS官方手机版

python科学计算-python科学计算相关推荐

  1. python 科学计算基础教程电子版-自学Python 编程基础、科学计算及数据分析

    自学Python 编程基础.科学计算及数据分析 epub pdf mobi txt 下载 自学Python 编程基础.科学计算及数据分析 epub pdf mobi txt 下载 ☆☆☆☆☆ 李金 著 ...

  2. 全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?

    数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.Python 会有哪些最为独特的优势呢?又存在哪些让开发者无力的缺陷?在本文中,我们将 ...

  3. python编程入门与案例详解-自学Python 编程基础、科学计算及数据分析

    自学Python 编程基础.科学计算及数据分析 epub pdf mobi txt 下载 自学Python 编程基础.科学计算及数据分析 epub pdf mobi txt 下载 ☆☆☆☆☆ 李金 著 ...

  4. python扩展库用于科学计算的有哪些_数据科学必备的十大 Python 库

    ​Python 已成为当今使用最广泛的编程语言之一,尤其是在数据科学领域. Python 是一种高性能的语言,易于学习和调试,并且具有广泛的库支持.这些库都有自己独特的功能,一些专注于数据挖掘,一些专 ...

  5. python 对比matlab_全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?

    原标题:全面对比 MATLAB.Julia.Python,谁在科学计算中更胜一筹? 数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.P ...

  6. python支持强大的科学计算功能_用 Python 写高效科学计算程序设计

    1.科学计算中的突出问题及需求 概括一般科学计算的特点,主要包括四方面: 数值计算种类多 对于某个问题的求解,可能需要不同种类的函数,如三角函数,积分函数,概率统计函数以及某些特殊函数. 需要大量数值 ...

  7. 【干货】Python爬虫/文本处理/科学计算/机器学习/数据挖掘兵器谱

    2019独角兽企业重金招聘Python工程师标准>>> 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开发语言是C/C++,但平时的很多文本 ...

  8. python编辑器 in out_Python 科学计算交互工作流:IPython 和文本编辑器

    Python 是一门通用语言.与其他的通用语言一样,没有一个绝对权威的工作环境,也不止一种方法使用它. 与 Matlba,Scilab 或者 R 不同,Python 并没有预先绑定的一组科学计算模块. ...

  9. python --Numpy详解(科学计算)

    安装 pip install numpy 什么是Numpy:Numeric Python NumPy系统是Python的一种开源的数值计算扩展 一个强大的N维数组对象Array 比较成熟的(广播)函数 ...

  10. 为何python攀上数据科学巅峰?调查显示Python超越R

    根据KDnuggets 2017年最新调查,Python生态系统已经超过了R,成为了数据分析.数据科学与机器学习的第一大语言.本文对KDnuggets的此项调查结果做了介绍,并补充了一篇文章讲解为何P ...

最新文章

  1. 微软MSIT部门招Sr SDE for FSS team
  2. boost::graph::distributed::hohberg_biconnected_components用法的测试程序
  3. wps多人协作后怎么保存_蜂蜜开封后能放多久?蜂蜜开封后怎么保存?蜂蜜存放要注意事项...
  4. 我是这样入侵 Hacking Team 的
  5. git(5)---Git 与Repo 管理Android代码
  6. python3.5安装包_Python 3.5.4详细图文安装教程(附安装包) | 我爱分享网
  7. pg数据库中postgis的使用
  8. java 微信公众平台 开源_Java微信公众号开发之开源框架推荐
  9. html5中ul什么意思,css代码中的ul和li是什么意思
  10. 使用WIFI通讯,手机秒变单片机大屏显示器
  11. 【软件篇】~ 为什么打开谷歌浏览器就是360导航页面呢?
  12. 网络故障诊断的原则[转自www.cnitblog.com/wildon]
  13. 牛客网暑期ACM多校训练营(第八场)
  14. Windows 批处理(bat) if条件判断语句使用教程
  15. 西安市2012年教师资格证考试报名时间:3月10-15日
  16. 【cookbook pandas】学习笔记 chapter9 grouping,aggregation,filtration,and transformation
  17. 杭电选课脚本(一)登录选课系统
  18. PGM:有向图模型:贝叶斯网络
  19. 使用VBA创建数字金字塔
  20. 远控免杀专题文章(3)-msf自免杀(VT免杀率35/69)

热门文章

  1. java robot api_用java Robot API 模拟实现类似按键精灵功能
  2. Python入门——爬取pubmed文献做分析
  3. win10浏览器html设置字体大小设置,edge字体大小设置?win10 edge浏览器字体设置技巧...
  4. 焊工作业2021年压力焊题库
  5. ArcView GIS 应用与开发技术(7)- 空间查询
  6. 批处理通过bat文件定时调起本地的计算器或者画图工具并关闭
  7. php 在线api文档生成,一键生成API文档
  8. SVN安装包汉化VS插件
  9. 易班自动答题脚本_自动答题脚本教程及源码分享(无视分辨率)
  10. 基于小米球(Ngrok)实现内网穿透