《Python编程基础与科学计算》是由清华大学出版社出版的一本关于Python编程方面的书籍,作者是李增刚、戴光昊、廖晖,主要介绍了关于Python、编程基础、科学计算方面的知识内容,目前在Python编程类书籍综合评分为:7.2分。
书籍介绍
编辑推荐
Python以其语法简单、易上手、异常丰富的第三方生态库著称,本书写作的主要目的是替代Matlab,Matlab价格昂贵且受到美国政府的限制,不允许国内的一些行业使用,Python及科学算法包是开源的免费的,现在越来越多的人开始使用Python进行各种数学计算。本书的主要读者对象是高校的老师、研究生、博士生、高年级本科生、科研院所及企业中的科技工作者等。
内容简介
本书首先讲解了Python语言的语法基础,适合没有Python基础的人,随后重点讲解Python在科学计算方面的应用,包括数组的使用、多项式、小二乘法拟合、绘制各种二维和三维数据图像、各种数值计算方法,例如聚类算法、线性代数运算(特征值、特征向量、线性方程组求解、奇异值分解、范数等)、稀疏矩阵的存储及线性代数运算、积分、微分、常微分方程组的求解、各种插值算法、优化算法(单变量、多变量局部优化和全局优化、曲线拟合、方程求根、线性规划)、傅里叶变换(FFT、正弦余弦变换、窗函数、短时傅里叶变换等)、信号处理(卷积和相关计算、FIR和IIR滤波器及设计、滤波器频率响应、小波分析等)、图像处理、正交距离回归、空间算法(三维旋转变换、kd树、劳内德三角形、凸包等),符号运算包括多项式简化、微分、积分、极限、泰勒展开、代数方程、常微分偏微分方程求解、非线性方程组求解、密集和稀疏矩阵运算、绘制二维和三维图像等,用Python处理Excel数据、绘制Excel数据图像,文本文件和二进制文件的读写等内容。本书内容讲解详细,给出了每个命令的语法格式,对语法中的参数进行了详细解释,在每个知识点配以实例程序。本书的主要目的是替代Mathlab,Matlab价格昂贵且受到美国政府的限制,不允许国内的一些行业使用,Python及科学算法包是开源的免费的。本书的主要读者对象是高校的老师、研究生、博士生、高年级本科生、科研院所及企业中的科技工作者等。
作者简介
李增刚,男,大连理工大学工程力学系硕士毕业,从事多年有限元分析及专业培训工作,一直使用Python从事数值计算和数据处理工作,工程经验丰富。经国防工业出版社出版和清华大学出版社出版过《Nastran快速入门与实例》、《Adams入门详解与实例》、《Virtual.labAcoustics声学仿真计算高级应用实例》和《SYSNOISEREV5.6详解》和《Python基础与PyQt可视化编程详解》5本著作。
目录
- 第1章Python编程基础
- 1.1Python编程环境
- 1.1.1Python语言简介
- 1.1.2Python编程环境的建立
- 1.2Python开发环境使用基础
- 1.2.1Python自带集成开发环境
- 1.2.2PyCharm集成开发环境
- 1.3变量与赋值语句
- 1.3.1变量和赋值的意义
- 1.3.2变量的定义
- 1.3.3赋值语句
- 1.4Python中的数据类型
- 1.4.1数据类型
- 1.4.2数据类型的转换
- 1.4.3字符串中的转义字符
- 1.5表达式
- 1.5.1数值表达式
- 1.5.2逻辑表达式
- 1.5.3运算符的优先级
- 1.6Python编程的注意事项
- 1.6.1空行与注释
- 1.6.2缩进
- 1.6.3续行
- 1.7Python中常用的一些函数
- 1.7.1输入函数和输出函数
- 1.7.2range()函数
- 1.7.3随机函数
- 1.8分支结构
- 1.8.1if分支结构
- 1.8.2分支语句的嵌套
- 1.9循环结构
- 1.9.1for循环结构
- 1.9.2while循环结构
- 1.9.3循环体的嵌套
- 1.9.4continue语句和break语句
- 第2章Python的数据结构
- 2.1列表
- 2.1.1创建列表
- 2.1.2列表元素的索引和输出
- 2.1.3列表的编辑
- 2.2元组
- 2.2.1创建元组
- 2.2.2元组元素的索引和输出
- 2.3字典
- 2.3.1创建字典
- 2.3.2字典的编辑
- 2.4集合
- 2.4.1创建集合
- 2.4.2集合的编辑
- 2.4.3集合的逻辑运算
- 2.4.4集合的元素运算
- 2.5字符串
- 2.5.1字符串的索引和输出
- 2.5.2字符串的处理
- 2.5.3格式化字符串
- 第3章自定义函数、类和模块
- 3.1自定义函数
- 3.1.1自定义函数的格式
- 3.1.2函数参数
- 3.1.3函数的返回值
- 3.1.4函数的局部变量
- 3.1.5匿名函数lambda
- 3.1.6函数的递归调用
- 3.2类和对象
- 3.2.1类和对象介绍
- 3.2.2类的定义和实例
- 3.2.3实例属性和类属性
- 3.2.4类中的函数
- 3.2.5属性和方法的私密性
- 3.2.6类的继承
- 3.2.7类的其他操作
- 3.3模块和包
- 3.3.1模块的使用
- 3.3.2模块空间与主程序
- 3.3.3包的使用
- 3.3.4枚举模块
- 3.3.5sys模块
- 第4章异常处理和文件操作
- 4.1异常信息和异常处理
- 4.1.1异常信息
- 4.1.2被动异常的处理
- 4.1.3主动异常的处理
- 4.1.4异常的嵌套
- 4.2文件的读写
- 4.2.1文件的打开与关闭
- 4.2.2读取数据
- 4.2.3写入数据
- 4.3文件和路径操作
- 4.4py文件的编译
- 第5章NumPy数组运算
- 5.1创建数组
- 5.1.1数组的基本概念
- 5.1.2NumPy的数据类型
- 5.1.3创建数组的方法
- 5.1.4数组的属性
- 5.1.5NumPy中的常量
- 5.1.6数组的切片
- 5.1.7数组的保存与读取
- 5.2数组操作
- 5.2.1基本运算
- 5.2.2调整数组的形状
- 5.2.3数组的重新组合
- 5.2.4数组的分解
- 5.2.5数组的重复复制
- 5.2.6类型转换
- 5.2.7数组排序
- 5.2.8数组查询
- 5.2.9数组统计
- 5.2.10数组的添加和删除
- 5.2.11数组元素的随机打乱
- 5.2.12数组元素的颠倒
- 5.3随机数组
- 5.3.1随机生成器
- 5.3.2随机函数
- 5.4矩阵
- 5.4.1矩阵的定义
- 5.4.2矩阵的方法
- 5.5通用函数
- 5.5.1数组基本运算函数
- 5.5.2数组逻辑运算函数
- 5.5.3数组三角函数
- 5.6线性代数运算
- 5.6.1矩阵对角线
- 5.6.2数组乘积
- 5.6.3数组的行列式
- 5.6.4数组的秩和逆矩阵
- 5.6.5特征值和特征向量
- 5.6.6SVD分解
- 5.6.7Cholesky分解
- 5.6.8QR分解
- 5.6.9范数和条件数
- 5.6.10线性方程组的解
- 5.7快速傅里叶变换
- 5.7.1傅里叶变换公式
- 5.7.2傅里叶变换及逆变换
- 5.7.3窗函数
- 5.7.4傅里叶变换的辅助工具
- 5.8多项式运算
- 5.8.1多项式的定义及属性
- 5.8.2多项式的四则运算
- 5.8.3多项式的微分和积分
- 5.8.4多项式拟合
- 第6章matplotlib数据可视化
- 6.1二维绘图
- 6.1.1折线图
- 6.1.2对数折线图
- 6.1.3堆叠图
- 6.1.4时间折线图
- 6.1.5带误差的折线图
- 6.1.6填充图
- 6.1.7阶梯图
- 6.1.8极坐标图
- 6.1.9火柴杆图
- 6.1.10散点图
- 6.1.11柱状图
- 6.1.12饼图
- 6.1.13直方图
- 6.1.14六边形图
- 6.1.15箱线图
- 6.1.16小提琴图
- 6.1.17等值线图
- 6.1.18四边形网格颜色图
- 6.1.19三角形图
- 6.1.20箭头矢量图
- 6.1.21流线图
- 6.1.22矩阵图
- 6.1.23稀疏矩阵图
- 6.1.24风羽图
- 6.1.25事件图
- 6.1.26自相关函数图
- 6.1.27互相关函数图
- 6.1.28幅值谱和相位谱图
- 6.1.29时频图
- 6.1.30功率谱密度图
- 6.1.31绘制图像
- 6.2图像、子图和图例
- 6.2.1图像对象
- 6.2.2子图对象
- 6.2.3图例对象
- 6.3图像的辅助功能
- 6.3.1添加注释
- 6.3.2添加颜色条
- 6.3.3添加文字
- 6.3.4添加箭头
- 6.3.5添加网格线
- 6.3.6添加水平、竖直和倾斜线
- 6.3.7添加表格
- 6.4三维绘图
- 6.4.1三维子图对象
- 6.4.2三维折线图
- 6.4.3三维散点图
- 6.4.4三维柱状图
- 6.4.5三维曲面图
- 6.4.6三维等值线图
- 6.4.7三维三角形网格图
- 6.4.8三维箭头矢量图
- 第7章SciPy数值计算方法
- 7.1SciPy中的常数
- 7.1.1数学和物理常量
- 7.1.2单位换算常量
- 7.2SciPy的数据读写
- 7.2.1读写MATLAB文件
- 7.2.2读写wave文件
- 7.2.3读写Fortran文件
- 7.3聚类算法
- 7.3.1k平均聚类法
- 7.3.2矢量量化
- 7.3.3层次聚类法
- 7.4线性代数运算
- 7.4.1特殊矩阵
- 7.4.2矩阵函数
- 7.4.3线性代数基本运算
- 7.4.4向量和矩阵的范数
- 7.4.5特征值和特征向量
- 7.4.6矩阵分解
- 7.4.7线性方程组的解
- 7.4.8矩阵方程的解
- 7.5稀疏矩阵
- 7.5.1稀疏矩阵的基类
- 7.5.2稀疏矩阵的定义
- 7.5.3一些实用方法
- 7.5.4稀疏矩阵的线性代数运算
- 7.6数值积分
- 7.6.1一重定积分
- 7.6.2二重定积分
- 7.6.3三重定积分
- 7.6.4n重定积分
- 7.6.5给定离散数据的积分
- 7.6.6一阶常微分方程组的求解
- 7.6.7二阶常微分方程组的求解
- 7.6.8数值微分
- 7.7插值计算
- 7.7.1一维样条插值
- 7.7.2一维多项式插值
- 7.7.3二维样条插值
- 7.7.4根据FFT插值
- 7.8优化
- 7.8.1单变量局部优化
- 7.8.2多变量局部优化
- 7.8.3多变量全局差分进化法
- 7.8.4多变量全局模拟退火法
- 7.8.5线性规划问题
- 7.8.6用小二乘法解方程误差小问题
- 7.8.7曲线拟合
- 7.8.8求方程的根
- 7.9傅里叶变换
- 7.9.1离散傅里叶变换
- 7.9.2傅里叶变换的辅助工具
- 7.9.3离散余弦和正弦变换
- 7.9.4窗函数
- 7.9.5短时傅里叶变换
- 7.10数字信号处理
- 7.10.1信号的卷积和相关计算
- 7.10.2二维图像的卷积计算
- 7.10.3FIR与IIR滤波器
- 7.10.4FIR与IIR滤波器的设计
- 7.10.5滤波器的频率响应
- 7.10.6其他滤波器
- 7.10.7小波分析
- 7.11图像处理
- 7.11.1图像的卷积与相关计算
- 7.11.2高斯滤波
- 7.11.3图像边缘检测
- 7.11.4样条插值滤波
- 7.11.5广义滤波
- 7.11.6图像的平移、旋转和缩放
- 7.11.7图像的仿射变换
- 7.11.8二进制形态学
- 7.12正交距离回归
- 7.12.1正交距离回归流程
- 7.12.2简易模型
- 7.13空间算法
- 7.13.1三维空间旋转变换
- 7.13.2kdtree及近邻搜索
- 7.13.3德劳内三角剖分
- 7.13.4凸包
- 7.13.5Voronoi图
- 第8章SymPy符号运算
- 8.1符号与符号表达式
- 8.1.1符号定义
- 8.1.2符号表达式
- 8.1.3符号表达式的简化
- 8.1.4符号多项式操作
- 8.1.5逻辑表达式
- 8.2符号运算基础
- 8.2.1有限集合
- 8.2.2区间表示
- 8.2.3等式和不等式
- 8.2.4条件表示
- 8.2.5分段函数
- 8.3与微积分有关的运算
- 8.3.1极限运算
- 8.3.2微分运算
- 8.3.3积分运算
- 8.3.4泰勒展开
- 8.3.5积分变换
- 8.4方程求解
- 8.4.1代数方程的求解
- 8.4.2线性方程组的求解
- 8.4.3非线性方程组的求解
- 8.4.4常微分方程组的求解
- 8.4.5偏微分方程的求解
- 8.5矩阵运算
- 8.5.1矩阵的创建
- 8.5.2矩阵的属性和方法
- 8.5.3稀疏矩阵
- 8.6绘图
- 8.6.1二维绘图
- 8.6.2参数化绘图
- 8.6.3隐式方程绘图
- 8.6.4三维绘图
- 第9章操纵Excel进行数据处理
- 9.1工作簿和工作表格
- 9.1.1openpyxl的基本结构
- 9.1.2对工作簿和工作表格的操作
- 9.2对工作表格的操作
- 9.3对单元格的操作
- 9.4在Excel中绘制数据图表
- 第10章数据读写和文件管理
- 10.1数据读写
- 10.1.1QIODevice类
- 10.1.2字节数组与字节串
- 10.1.3QFile类
- 10.1.4文本流读写文本数据
- 10.1.5数据流读写二进制数据
- 10.1.6原生数据的读写方法
- 10.2数据存储文件
- 10.2.1QTemporaryFile临时文件
- 10.2.2QSaveFile存盘
- 10.2.3QBuffer内存存储
- 10.3文件管理
- 10.3.1文件信息
- 10.3.2路径管理