Python编程基础与科学计算pdf下载pdf下载

Python编程基础与科学计算百度网盘pdf下载

作者:
简介:本篇主要提供Python编程基础与科学计算pdf下载
出版社:清华大学出版社京东自营官方旗舰店
出版时间:2022-03
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容简介

《Python编程基础与科学计算》首先讲解了Python语言的语法基础,适合没有Python基础的人,随后重点讲解Python在科学计算方面的应用,包括数组的使用、多项式、最小二乘法拟合、绘制各种二维和三维数据图像、各种数值计算方法,例如聚类算法、线性代数运算(特征值、特征向量、线性方程组求解、奇异值分解、范数等)、稀疏矩阵的存储及线性代数运算、积分、微分、常微分方程组的求解、各种插值算法、优化算法(单变量、多变量局部优化和全局优化、曲线拟合、方程求根、线性规划)、傅里叶变换(FFT、正弦余弦变换、窗函数、短时傅里叶变换等)、信号处理(卷积和相关计算、FIR和IIR滤波器及设计、滤波器频率响应、小波分析等)、图像处理、正交距离回归、空间算法(三维旋转变换、kd树、劳内德三角形、凸包等),符号运算包括多项式简化、微分、积分、极限、泰勒展开、代数方程、常微分偏微分方程求解、非线性方程组求解、密集和稀疏矩阵运算、绘制二维和三维图像等,用Python处理Excel数据、绘制Excel数据图像,文本文件和二进制文件的读写等内容。
《Python编程基础与科学计算》内容讲解详细,给出了每个命令的语法格式,对语法中的参数进行了详细解释,在每个知识点配以实例程序。
《Python编程基础与科学计算》的主要目的是替代Mathlab,Matlab价格昂贵且受到美国政府的限制,不允许国内的一些行业使用,Python及科学算法包是开源的免费的。本书的主要读者对象是高校的老师、研究生、博士生、高年级本科生、科研院所及企业中的科技工作者等。

作者简介

李增刚,男,大连理工大学工程力学系硕士毕业,从事多年有限元分析及专业培训工作,一直使用Python从事数值计算和数据处理工作,工程经验丰富。经国防工业出版社出版和清华大学出版社出版过《Nastran快速入门与实例》、《Adams 入门详解与实例》、《Virtual.lab Acoustics 声学仿真计算高级应用实例》和《SYSNOISE REV5.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.2kdtree及最近邻搜索

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路径管理


前言/序言

在研究自然科学规律时,通常需要建立数学方程或研究方法,用数学方程来描述所研究对象的客观规律,再现、预测和发现客观世界的运动规律和演化过程。另外,对于一个复杂的系统,所建立的数学方程往往是非常复杂的,无法或根本不可能直接计算出精确解。随着计算机技术的发展,可以用计算机求解出复杂系统数学方程或者研究方法的数值解,并能以某种手段呈现和分析所得到的数值解。在保证一定计算精度的情况下,用计算机的数值解来解决实际工程中遇到的各种问题,研究系统的客观规律。
数值计算相对于传统的解析计算有很大的优势。数值计算可以完成非线性、大模型、非平衡问题,把科学原理应用于虚拟实验,解决更复杂的实际问题。数值计算不会对环境产生任何破坏,例如研究核爆炸的破坏,不可能进行真实的核破坏实验, 但可以用科学计算进行核爆炸的模拟; 数值计算不受仪器设备和时间、空间的影响,只需要一台计算机,因此成本低; 可以把数值计算方法编译成某个学科的专业软件,例如各种CAE仿真分析软件,通过界面的简单操作完成相应的计算,提供给更多的人使用。
用计算机进行数值求解时,需要有一套求解数学方程的方法。MATLAB软件是一套使用非常广泛的数学软件,提供了多种数值计算方法,但是MATLAB价格昂贵,并且由于中美之间科技的竞争,受到美国政府的限制,MATLAB在我国国内多个行业已经被限制使用,随着竞争的激烈,相信会有更多的科技产品受到限制。替代MATLAB进行数值计算的一个非常好的选择是用Python编程语言及其科学计算包。Python作为开源的高级程序语言,它是免费的,Python有与MATLAB对应的数值计算的科学计算包,编者编写本书的主要目的是帮助广大科技工作者快速掌握Python语言在科学计算方面的使用方法,培养其进行科学计算的能力。Python语言的语法简单,使用方便,对于初学计算机编程的人员来说,是最值得推荐的计算机语言。Python有众多的第三方程序包,通过pip命令可以直接安装使用,利用第三方模块和Python语言能够快速搭建出各式各样的程序,满足用户的需求。
本书分为10章,其中第1~4章介绍Python语言的基础,供没有Python基础的人员使用; 第5章介绍NumPy进行数组和矩阵运算的方法,它是进行数值计算的基础; 第6章介绍用matplotlib进行数值的可视化的方法,绘制各种二维和三维数据图像; 第7章介绍用SciPy进行各种数值计算的方法,是本书的主要内容; 第8章介绍用SymPy进行符号运算,用符号推导数学公式; 第9章介绍用openpyxl操纵Excel进行数据处理的方法和数据可视化; 第10章介绍用PyQt5进行文本文件和二进制文件的读写及文件管理方面的内容。PyQt5可以进行复杂的图形界面开发,可以与数值计算方法结合,通过界面把数值计算的结果呈现出来。关于PyQt5进行图形界面开发方面的内容可以参考编者所著的另一本书《Python基础与PyQt可视化编程详解》,本书对此不作过多介绍。
在编写本书时,Python的版本是3.9.6,由于Python语言及其科学计算包仍在不断发展中,因此读者在使用本书的时候,Python语言和科学计算包很可能发展到更高的版本,但由于软件一般都有向下兼容的特点,因此本书所述内容不会影响正常的使用。本书在讲解内容时,在主要知识点上配有应用实例,这些应用实例可以起到画龙点睛的作用,请读者扫描下面的二维码下载本书实例的源程序。
本书由北京诺思多维科技有限公司组织编写,由于受作者水平与时间的限制,书中疏漏和错误在所难免,敬请广大读者批评指正。在使用本书的过程中,如有问题可通过邮箱forengineer@126.com与编者联系。
扫描二维码,下载本书应用实例的源代码。
编者2021年10月


实例源代码