zoukankan      html  css  js  c++  java
  • Python科学计算

    Python科学计算

    Preface

    1 软件包的安装和介绍

    1.1 Python简介

    1.2 安装软件包

    1.2.1 Python(x,y)
    1.2.2 Enthought Python Distribution(EPD)

    1.3 方便的开发工具

    1.3.1 IPython
    1.3.2 Spyder
    1.3.3 Wing IDE 101

    1.4 函数库介绍

    1.4.1 数值计算库
    1.4.2 符号计算库
    1.4.3 界面设计
    1.4.4 绘图与可视化
    1.4.5 图像处理和计算机视觉

    2 NumPy——快速处理数据

    2.1 ndarray对象

    2.1.1 创建数组
    2.1.2 存取元素
    2.1.3 多维数组
    2.1.4 结构数组
    2.1.5 内存结构

    2.2 ufunc运算

    2.2.1 四则运算
    2.2.2 比较和布尔运算
    2.2.3 自定义ufunc函数
    2.2.4 广播
    2.2.5 ufunc函数的方法

    2.3 多维数组的下标存取

    2.3.1 下标对象
    2.3.2 整数数组作为下标
    2.3.3 一个复杂的例子
    2.3.4 布尔数组作为下标

    2.4 庞大的函数库

    2.4.1 求和、平均值、方差
    2.4.2 最值和排序
    2.4.3 多项式函数
    2.4.4 分段函数
    2.4.5 统计函数

    2.5 线性代数

    2.5.1 各种乘积运算
    2.5.2 解线性方程组

    2.6 掩码数组

    2.7 文件存取

    2.8 内存映射数组

    3 SciPy——数值计算库

    3.1 常数和特殊函数

    3.2 优化——optimize

    3.2.1 最小二乘拟合
    3.2.2 函数最小值
    3.2.3 非线性方程组求解

    3.3 插值——interpolate

    3.3.1 B样条曲线插值
    3.3.2 外推和Spline拟合
    3.3.3 二维插值

    3.4 数值积分——integrate

    3.4.1 球的体积
    3.4.2 解常微分方程组

    3.5 信号处理——signal

    3.5.1 中值滤波
    3.5.2 滤波器设计

    3.6 图像处理——ndimage

    3.6.1 膨胀和腐蚀
    3.6.2 Hit和Miss

    3.7 统计——stats

    3.7.1 连续和离散概率分布
    3.7.2 二项、泊松、伽玛分布

    3.8 嵌入C语言程序——weave

    4 SymPy——符号运算好帮手

    4.1 从例子开始

    4.1.1 封面上的经典公式
    4.1.2 球体体积

    4.2 数学表达式

    4.2.1 符号
    4.2.2 数值
    4.2.3 运算符和函数

    4.3 符号运算

    4.3.1 表达式变换和化简
    4.3.2 方程
    4.3.3 微分
    4.3.4 微分方程
    4.3.5 积分

    4.4 其他功能

    4.4.1 平面几何
    4.4.2 绘图

    5 matplotlib——绘制精美的图表

    5.1 快速绘图

    5.1.1 使用pyplot模块绘图
    5.1.2 以面向对象方式绘图
    5.1.3 配置属性
    5.1.4 绘制多个子图
    5.1.5 配置文件
    5.1.6 在图表中显示中文

    5.2 Artist对象

    5.2.1 Artist对象的属性
    5.2.2 Figure容器
    5.2.3 Axes容器
    5.2.4 Axis容器
    5.2.5 Artist对象的关系

    5.3 坐标变换和注释

    5.3.1 4种坐标系
    5.3.2 坐标变换的步骤
    5.3.3 制作阴影效果
    5.3.4 添加注释

    5.4 绘图函数简介

    5.4.1 对数坐标图
    5.4.2 极坐标图
    5.4.3 柱状图
    5.4.4 散列图
    5.4.5 图像
    5.4.6 等值线图
    5.4.7 三维绘图

    6 Traits——为Python添加类型定义

    6.1 开发背景

    6.2 Trait属性的功能

    6.3 Trait类型对象

    6.4 Trait的元数据

    6.5 预定义的Trait类型

    6.6 Property属性

    6.7 Trait属性监听

    6.8 Event和Button属性

    6.9 Trait属性的从属关系

    6.10 动态添加Trait属性

    6.11 创建自己的Trait类型

    6.11.1 从TraitType继承
    6.11.2 使用Trait()
    6.11.3 定义TraitHandler类

    7 TraitsUI——轻松制作用户界面

    7.1 默认界面

    7.2 用View定义界面

    7.2.1 外部视图和内部视图
    7.2.2 多模型视图
    7.2.3 Group对象
    7.2.4 配置视图

    7.3 用Handler控制界面和模型

    7.3.1 用Handler处理事件
    7.3.2 Controller和UIInfo对象
    7.3.3 响应Trait属性的事件

    7.4 属性编辑器

    7.4.1 编辑器演示程序
    7.4.2 对象编辑器
    7.4.3 字符串列表编辑器
    7.4.4 对象列表编辑器

    7.5 菜单、工具条和状态栏

    7.6 设计自己的编辑器

    7.6.1 Trait编辑器的工作原理
    7.6.2 制作matplotlib的编辑器
    7.6.3 CSV数据绘图工具

    8 Chaco——交互式图表

    8.1 面向脚本绘图

    8.2 面向应用绘图

    8.2.1 多条曲线
    8.2.2 Plot对象的结构
    8.2.3 编辑绘图属性
    8.2.4 容器(Container)

    8.3 添加交互工具

    8.3.1 平移和缩放
    8.3.2 选取范围
    8.3.3 选取数据点
    8.3.4 套索工具

    8.4 二次开发

    8.4.1 用Kiva库在数组上绘图
    8.4.2 Enable库的组件
    8.4.3 设计圆形选择工具
    8.4.4 制作动画演示

    9 TVTK——数据的三维可视化

    9.1 流水线(Pipeline)

    9.1.1 显示圆锥
    9.1.2 用ivtk观察流水线

    9.2 数据集(Dataset)

    9.2.1 ImageData
    9.2.2 RectilinearGrid
    9.2.3 StructuredGrid
    9.2.4 PolyData

    9.3 可视化实例

    9.3.1 切面
    9.3.2 等值面
    9.3.3 流线

    9.4 TVTK的改进

    9.4.1 TVTK的基本用法
    9.4.2 Trait属性
    9.4.3 序列化(Pickling)
    9.4.4 集合迭代
    9.4.5 数组操作

    10 Mayavi——更方便的可视化

    10.1 用mlab快速绘图

    10.1.1 点和线
    10.1.2 Mayavi的流水线
    10.1.3 二维图像的可视化
    10.1.4 网格面
    10.1.5 修改和控制流水线
    10.1.6 标量场
    10.1.7 矢量场

    10.2 Mayavi和TVTK之间的关系

    10.2.1 显示TVTK流水线
    10.2.2 两条流水线之间的关系

    10.3 Mayavi应用程序

    10.3.1 操作流水线
    10.3.2 命令行和对象浏览器

    10.4 将Mayavi嵌入到界面中

    11 VPython——制作3D演示动画

    11.1 场景、物体和照相机

    11.1.1 控制场景窗口
    11.1.2 控制照相机
    11.1.3 模型的属性
    11.1.4 三维模型

    11.2 制作动画演示

    11.2.1 简单动画
    11.2.2 盒子中反弹的球

    11.3 与场景交互

    11.3.1 响应键盘事件
    11.3.2 响应鼠标事件

    11.4 用界面控制场景

    11.5 创建复杂模型

    11.5.1 faces()的用法
    11.5.2 读入模型数据

    12 OpenCV——图像处理和计算机视觉

    12.1 存储图像数据的Mat对象

    12.1.1 Mat对象和NumPy数组
    12.1.2 像素点类型
    12.1.3 其他数据类型
    12.1.4 Vector类型
    12.1.5 在图像上绘图

    12.2 图像处理

    12.2.1 二维卷积
    12.2.2 形态学运算
    12.2.3 填充——floodFill
    12.2.4 去瑕疵——inpaint

    12.3 图像变换

    12.3.1 几何变换
    12.3.2 重映射——remap
    12.3.3 直方图统计
    12.3.4 二维离散傅立叶变换

    12.4 图像识别

    12.4.1 用霍夫变换检测直线和圆
    12.4.2 图像分割
    12.4.3 用SURF进行特征匹配

    13 数据和文件

    13.1 声音的输入输出

    13.1.1 读写WAV文件
    13.1.2 用pyAudio播放和录音

    13.2 视频的输入输出

    13.2.1 读写视频文件
    13.2.2 安装视频编码

    13.3 读写HDF5文件

    13.4 读写Excel文件

    13.4.1 写Excel文件
    13.4.2 读Excel文件

    14 数字信号系统

    14.1 FIR和IIR滤波器

    14.2 FIR滤波器设计

    14.2.1 用firwin()设计滤波器
    14.2.2 用remez()设计滤波器
    14.2.3 滤波器的级联

    14.3 IIR滤波器设计

    14.3.1 巴特沃斯低通滤波器
    14.3.2 双线性变换
    14.3.3 滤波器的频带转换

    14.4 数字滤波器的频率响应

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

    14.6 零相位滤波器

    14.7 重取样

    15 频域信号处理

    15.1 FFT演示程序

    15.1.1 FFT知识复习
    15.1.2 合成时域信号
    15.1.3 三角波FFT演示程序

    15.2 观察信号的频谱

    15.2.1 窗函数
    15.2.2 频谱平均
    15.2.3 谱图

    15.3 卷积运算

    15.3.1 快速卷积
    15.3.2 分段运算

    15.4 信号处理

    15.4.1 基本框架
    15.4.2 频域滤波器
    15.4.3 频率变调处理
    15.4.4 用谱图差减法降噪

    15.5 Hilbert变换

    16 用C语言提高计算效率

    16.1 用ctypes调用DLL库

    16.2 用Weave嵌入C++程序

    16.2.1 Weave的工作原理
    16.2.2 处理NumPy数组
    16.2.3 使用blitz()提速
    16.2.4 扩展模块

    16.3 用Cython将Python编译成C

    16.3.1 编译Cython程序
    16.3.2 提高计算效率
    16.3.3 快速访问NumPy数组

    16.4 用SWIG创建扩展模块

    16.4.1 SWIG的调用方法和实例
    16.4.2 SWIG基础
    16.4.3 SWIG处理NumPy数组

    17 自适应滤波器

    17.1 自适应滤波器简介

    17.1.1 系统识别
    17.1.2 信号预测
    17.1.3 信号均衡

    17.2 NLMS计算公式

    17.3 用NumPy实现NLMS算法

    17.3.1 系统辨识模拟
    17.3.2 信号均衡模拟
    17.3.3 卷积逆运算

    17.4 用C语言加速NLMS运算

    17.4.1 用SWIG编写扩展模块
    17.4.2 用Weave嵌入C++程序

    18 单摆和双摆模拟

    18.1 单摆模拟

    18.1.1 小角度时的摆动周期
    18.1.2 大角度时的摆动周期

    18.2 双摆模拟

    18.2.1 公式推导
    18.2.2 微分方程的数值解
    18.2.3 动画演示

    19 分形几何

    19.1 Mandelbrot集合

    19.1.1 使用NumPy加速计算
    19.1.2 使用Weave加速计算
    19.1.3 连续的逃逸时间
    19.1.4 Mandelbrot演示程序

    19.2 迭代函数系统(IFS)

    19.2.1 二维仿射变换
    19.2.2 迭代函数系统设计器

    19.3 L-System分形

    19.4 分形山脉

    19.4.1 一维中点移位法
    19.4.2 二维中点移位法
    19.4.3 菱形方形算法
    光盘链接

    思维导图

    Python科学计算

    防止博客图床图片失效,防止图片源站外链:

    http://www.processon.com/chart_image/5e5b40e3e4b0541c5e14a5d2.png)

    思维导图在线编辑链接:

    https://www.processon.com/view/5e5b40e3e4b0541c5e14a5cf

  • 相关阅读:
    boot文件上传的坑
    页面前端获取时间和数据库获取时间差八个小时 CST
    springcloud 学习
    springcloud 的eureka服务
    ROWNUM()应用案例-实现一个拉链表
    python dict 常用操作
    【转】团队项目的Git分支管理规范
    Python中使用cx_Oracle调用Oracle存储过程
    【转载】ORACLE 物化视图
    C# 加密解密
  • 原文地址:https://www.cnblogs.com/jingle1267/p/13212908.html
Copyright © 2011-2022 走看看