您好,欢迎来到聚文网。 登录 免费注册
Python编程基础与科学计算

Python编程基础与科学计算

  • 字数: 846000
  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 出版日期: 2022-03-01
  • 商品条码: 9787302598367
  • 版次: 1
  • 开本: 16开
  • 页数: 560
  • 出版年份: 2022
定价:¥108 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
Python以其语法简单、易上手、异常丰富的第三方生态库著称,本书写作的主要目的是替代Matlab,Matlab价格昂贵且受到美国政府的,不允许国内的一些行业使用,Python及科学算法包是开源的免费的,现在越来越多的人开始使用Python进行各种数学计算。本书的主要读者对象是高校的老师、研究生、博士生、高年级本科生、科研院所及企业中的科技工作者等。
内容简介
本书首先讲解了Python语言的语法基础,适合没有Python基础的人,随后重点讲解Python在科学计算方面的应用,包括数组的使用、多项式、最小二乘法拟合、绘制各种二维和三维数据图像、各种数值计算方法,例如聚类算法、线性代数运算(特征值、特征向量、线性方程组求解、奇异值分解、范数等)、稀疏矩阵的存储及线性代数运算、积分、微分、常微分方程组的求解、各种插值算法、优化算法(单变量、多变量局部优化和全局优化、曲线拟合、方程求根、线性规划)、傅里叶变换(FFT、正弦余弦变换、窗函数、短时傅里叶变换等)、信号处理(卷积和相关计算、FIR和IIR滤波器及设计、滤波器频率响应、小波分析等)、图像处理、正交距离回归、空间算法(三维旋转变换、kd树、劳内德三角形、凸包等),符号运算包括多项式简化、微分、积分、极限、泰勒展开、代数方程、常微分偏微分方程求解、非线性方程组求解、密集和稀疏矩阵运算、绘制二维和三维图像等,用Python处理Excel数据、绘制Excel数据图像,文本文件和二进制文件的读写等内容。 本书内容讲解详细,给出了每个命令的语法格式,对语法中的参数进行了详细解释,在每个知识点配以实例程序。 本书的主要目的是替代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路径管理
摘要
     第3章 自定义函数、类和模块 前面介绍的程序结构有顺序结构、分支结构和循环结构,对于程序中经常用到的部分,或者实现一定功能的代码,如果每次用时就重新编写一段代码,然后把这段代码放到以上三种结构中,这样势必造成程序冗长难读,编程效率也不高。对于一个复杂的程序,可以将功能相同或者重复执行的部分单独写成一段代码,并给这段代码起个名称,需要时,通过代码的名称就可以调用相应的代码,并实现代码的功能,实现模块化编程。像这种单独实现一定功能的代码,编程语言中称为函数。函数的使用可以极大提高编程效率、提高程序的可读性,而且函数可以共享,编程人员可以直接把其他人员已经编好的函数应用到自己的程序中。如果把一些服务于特定目的的多个函数和变量集中写到一起,来完成更复杂功能的定义和使用,就形成了类。类是面向对象编程的基础,例如一辆汽车、一张桌子、一个手机、一个按钮都是实实在在的物体,对这些物体的描述和功能的定义都是通过类来实现的。定义好的函数和类可以存到一个文件中,在使用时可以调入进来,作为一个单独的模块使用。本章将详细介绍自定义函数和类的定义和使用方法。 3.1自定义函数 Python中的函数分为内置函数、模块中的函数和自定义函数,内置函数如表12所示,如sum()、len()、list()、id()、type()、chr()等; 模块函数如math模块中的函数sin()、cos()等。random模块中的函数random()、randint()等。内置函数和模块中的函数是已经编写好的函数,可以直接使用。这些函数不能满足所有人的需求,这时用户就需要根据自己的需要和目的编写属于自己的函数,即自定义函数。自定义函数需要输入参数和函数的返回值。 3.1.1自定义函数的格式 自定义函数用关键字def(define)来定义,其格式如下所示,其中[ ]内的内容是可选项。 def functionName ([parameter1,parameter2, ... ,parameterN]): ["""函数说明"""] 函数语句#需要缩进 [return value1[,value2, ... ,valueN]] 各项的说明如下:  def是自定义函数的关键字,是不可缺少的。  functionName是自定义的函数名,由编程人员来确定。函数名的取名规则可以参考变量的取名规则,通过函数名来调用函数,调用形式为functionName(参数的真实值)。functionName后的括号“()”是必需的,即便是没有函数参数,也必须写入。  parameter是函数参数,可以没有,也可以有任意多个,各个参数之间用逗号隔开。定义函数时的参数是形式参数,并不是调用函数时的真实参数,调用函数时,真实参数值传递给形式参数。  冒号“:”是必需的格式,说明后续的语句是函数语句。函数语句要进行缩进,当遇到不再缩进的语句时,函数语句结束。  函数说明放到三个双引号("""""")或三个单引号(''' ''')中。函数说明可以是多行,用来说明函数的功能、格式、参数类型、返回值的个数和类型等信息,帮助其他人了解该函数的使用方法。函数说明可以通过help(functionName)函数显示出来,或者用functionName.__doc__显示。  函数语句是编程人员要写的函数体,用于实现函数的功能。如果暂时不想写语句,可以用pass语句代替。函数语句相对于关键字的位置要进行缩进。  return语句定义函数的返回值,返回值可以有1个或多个,也可以没有。如果有多个返回值,则返回值之间用逗号隔开。return语句可以放到函数语句的任意位置,当遇到return语句时,返回函数的返回值,如果return语句后面还有其他语句,会忽略其他语句,这时通常把return语句放到if的分支结构中。return语句是可选的,如果函数中没有return语句,函数没有返回值,通常只产生一定的动作(功能)。  返回值类型提示: 在自定义函数的第1行,在“:”前面可以添加类型提示功能,类型提示用“->类型”定义,例如“def total(n)>int:”提示返回整数。 下面是一个计算从0到正整数N求和的自定义函数,函数参数是N,返回0+1+2+3+…+N的值。在Python的IDLE的文件窗口中输入下面的代码,通过xx = total(x)调用函数total(),并把函数返回值放入变量xx中。 def total(n) -> int: #定义total()函数,提示返回整数#Demo3_1.py """输入大于0的整数N,返回0+1+2+3+…+N的值""" if n>0: y =0 for i in range(1,n+1): y = y+i return y x = input("请输入一个大于1的整数:") x = int(x) #将字符串转换成整数 xx = total(x) #调用自定义函数total() print("从0到{}的和是:{}".format(x,xx)) 运行上面的代码,在shell中输入10000,得到如下内容,输入help(total),得到函数的说明。 请输入一个大于1的整数:10000 从0到10000的和是:50005000 >>> help(total) #获取函数的帮助 Help on function total in module __main__: total(n)

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网