西安科技大学

安全工程专业课程

安全仿真与模拟基础


金洪伟 & 闫振国 & 王延平

西安科技大学安全科学与工程学院


返回目录⇡

如何浏览?

  1. 从浏览器地址栏打开 https://zimo.net/aqmn/
  2. 点击章节列表中的任一链接,打开相应的演示文稿;
  3. 点击链接打开演示文稿,使用空格键或方向键导航;
  4. f键进入全屏播放,再按Esc键退出全屏;
  5. Alt键同时点击鼠标左键进行局部缩放;
  6. Esco键进入幻灯片浏览视图。

请使用最新版本浏览器访问此演示文稿以获得更好体验。

第 3 部分  基于 Python 进行科学计算


第 2 章  SciPy

科学计算的基础算法包

目 录

  1. SciPy 介绍
  2. 线性代数
  3. 回归分析
  4. 方程求解
  5. 最优化
  6. 积分
  7. 插值
  8. 文件 IO

1. SciPy 介绍

1.1 概述

前往 SciPy 官方网站

SciPy(发音 /ˈsaɪpaɪ/)是一个自由和开源的 Python 库,用于科学和工程计算。SciPy 包含多个模块,用于统计、最优化、积分、插值、线性代数、傅里叶变换、符号和图像处理、常微分方程求解,等等。

SciPy 基于 NumPy 构建,通过与 NumPy 数组配合,在操作和可视化数据方面提供了许多高级的命令和类,大大增强了 Python 的能力。

SciPy 在 BSD 协议下发布,其开发工作由一个开放的开发者社区赞助和支持。与之同类的软件还包括 MATLABGNU OctaveScilab 等。

1.2 SciPy 的特色

  • 基础算法。SciPy 提供了很多算法,用于解决各种问题,如最优化、积分、插值、特征值问题、代数方程、微分方程、统计,等等。
  • 广泛适用。SciPy 提供的算法和数据结构可在各个领域广泛适用。
  • 基础性。通过扩展 NumPy,提供了进行数组计算的额外工具,以及专用数据结构,如稀疏矩阵、k-d 树。
  • 高性能。SciPy 包装了一些由 Fortran、C 和 C++ 等编译型高性能语言编写的高度优化的软件模块,可以同时享受 Python 的灵活性以及编译型代码的速度。
  • 易用。SciPy 的高级语法使之可以被任意背景和经验等级的程序员高效使用。
  • 开源。GitHub 上使用 BSD 协议发布,由社区开发和维护。

1.3 安装 SciPy

通过 pip 安装:

pip install scipy  # 或 python -m pip install scipy

通过 conda 安装:

conda install scipy

对于其他操作系统或包管理系统,可能需要用其他的安装方法,详见官方的安装指导

1.4 SciPy 提供的子包

针对不同的科学计算领域,SciPy 提供了不同的子包,他们包括:

子包 描述 子包 描述
cluster 聚类算法 constants 物理和数学常量
fftpack 快速傅里叶变换例程 integrate 积分和常微分方程求解
interpolate 插值和平滑的样条曲线 io 输入和输出
linalg 线性代数 ndimage N 维图像处理
odr 正交距离回归 optimize 最优化和求根例程
signal 信号处理 sparse 稀疏矩阵和相关例程
spatial 空间数据结构和算法 special 特殊函数
stats 统计分布和函数

1.5 关于本章

作业

作业

要求:

  1. 将本章全部作业放在一个 安模作业03-02-学号-姓名.py 的源文件中,通过电子邮件以附件形式发给任课教师。
  2. 在源文件中以注释的形式醒目地写明本次作业对应的章编号、各个作业题的编号,并按要求写出解题思路、代码注释。
  3. 以上各题不能只有文字说明,而应同时有可执行的示例代码。
  4. 邮件标题统一用 安模作业03-02-学号-姓名 的形式。
  5. 所有关于作业的回答都以代码注释的形式写在源文件中,不需要再额外附加其他文档或图片,请保证代码执行不会发生错误。
  6. 待本次作业批改后,请通过此链接下载本次作业的参考答案。

  谢谢!

返回目录
返回首页