数学建模常用方法与实验
作 者: 宋来忠,覃太贵 编
出版时间:2015
丛编项: 普通高等教育
内容简介
《数学建模常用方法与实验》为高等学校数学建模与实验课程教材,集应用数学知识、数学建模和数学实验为一体,共17章.第一部分为MATLAB基础(第1~5章),包括MATLAB入门、程序设计、图形处理、数值计算、符号计算基础;第二部分为常用数学建模方法与实验(第6~17章),包括MATLAB数字图像处理、微分方程模型求解、插值与拟合建模及实验、图论方法建模与实验、随机方法建模与实验、线性规划模型与实验、非线性规划模型与实验、整数规划模型与实验、动态规划模型与实验、模拟退火算法与实验、穷举算法与实验和遗传算法与实验.各章内容相对独立,便于不同学时、不同层次的院校和专业选修不同的内容
目录
第1章MATLAB入门1
1.1变量与函数1
1.1.1变量与数据1
1.1.2数学运算符号及标点符号3
1.1.3数学函数4
1.1.4M文件5
1.2数组6
1.2.1创建简单的数组6
1.2.2数组元素的访问7
1.2.3数组的方向7
1.2.4数组运算8
1.3矩阵9
1.3.1矩阵的建立9
1.3.2特殊矩阵10
1.3.3矩阵中元素的操作10
1.3.4矩阵的运算12
1.4关系与逻辑运算13
1.4.1关系操作符13
1.4.2逻辑运算符14
1.5多维数组14
1.5.1数组创建14
1.5.2用reshape和repmat生成n维数组15
1.5.3数组运算和处理16
1.5.4数组大小16
1.6*在线帮助和文件管理16
1.6.1在线帮助16
1.6.2文件管理17
1.6.3MATLAB工作17
1.7习题18
第2章MATLAB程序设计19
2.1顺序结构语句19
2.1.1表达式语句19
2.1.2赋值语句19
2.1.3空语句20
2.1.4输入语句20
2.1.5输出语句21
2.1.6变量值的保存与恢复22
2.2选择结构24
2.2.1if语句24
2.2.2switch语句25
2.2.3try语句26
2.2.4选择语句的嵌套26
2.3循环结构语句27
2.3.1for语句27
2.3.2while语句27
2.3.3循环嵌套28
2.3.4break语句28
2.4文件读写函数29
2.5一个可运行MATLAB命令的函数30
2.6局部工作空间和基本工作空间31
2.7习题31
第3章MATLAB图形处理33
3.1二维曲线绘图的基本操作33
3.1.1plot命令的调用33
3.1.2符号函数(显函数?隐函数和参数方程)画图35
3.1.3plotyy函数(特殊坐标系下的二维图形)38
3.2三维绘图的基本操作39
3.2.1plot3命令的调用39
3.2.2网格图与曲面图40
3.3符号函数作图47
3.3.1符号函数的二维图47
3.3.2符号函数的三维图49
3.3.3符号函数作图的其他命令50
3.4图形处理50
3.4.1在图形上加格栅?图例和标注50
3.4.2定制坐标51
3.4.3图形保持52
3.4.4分割窗口53
3.4.5缩放图形54
3.4.6改变视角55
3.4.7动画55
3.5特殊的二维图形函数55
3.5.1极坐标图55
3.5.2散点图56
3.5.3平面等值线图56
3.6特殊的三维图形函数57
3.6.1空间等值线图57
3.6.2三维散点图58
3.7习题58
第4章MATLAB数值计算60
4.1基本数学函数60
4.1.1三角函数与双曲函数60
4.1.2其他常用函数63
4.2多项式69
4.2.1多项式的表达与创建69
4.2.2多项式的乘除运算72
4.2.3其他常用的多项式运算命令73
4.3线性代数74
4.3.1方阵系统75
4.3.2超定系统76
4.3.3欠定系统77
4.3.4逆矩阵及行列式78
4.3.5矩阵分解79
4.3.6特征值与特征矢量81
4.3.7奇异值分解82
4.4数据分析83
4.4.1基本统计命令83
4.4.2协方差阵和相关阵83
4.5微分与梯度84
4.5.1函数:diff84
4.5.2函数:del284
4.5.3函数:gradient84
4.5.4函数:meshgrid85
4.6数值积分87
4.6.1一元函数的数值积分87
4.6.2二元函数重积分的数值计算87
4.6.3任意区域上的二重积分的数值计算88
4.7习题89
第5章符号计算基础90
5.1符号对象与符号表达90
5.1.1符号对象的创建和衍生90
5.1.2符号计算中的算符92
5.1.3符号计算中的函数指令92
5.1.4符号对象的识别93
5.2符号数字及表达式的操作94
5.2.1数值数字与符号数字之间的转换94
5.2.2符号数字的任意精度计算94
5.2.3符号表达式的基本操作95
5.2.4表达式中的置换操作95
5.3符号微积分96
5.3.1极限和导数的符号计算96
5.3.2序列/级数的符号求和99
5.4符号积分99
5.5符号变换和符号卷积101
5.5.1Fourier变换及其反变换101
5.5.2Laplace变换及其反变换103
5.5.3Z变换及其反变换104
5.5.4符号卷积105
5.6符号矩阵分析和代数方程解106
5.6.1符号矩阵分析106
5.6.2线性方程组的符号解108
5.6.3一般代数方程组的解108
5.6.4求解微分方程(组)的MATLAB命令109
5.7利用MAPLE的深层符号计算资源110
5.8符号计算结果的可视化110
5.8.1直接可视化符号表达式111
5.8.2符号计算结果的数值化绘图116
5.9习题117
第6章MATLAB数字图像处理方法119
6.1图像的读取119
6.2灰度直方图及直方图均衡化120
6.3图像的代数运算121
6.4图像滤波处理123
6.5傅里叶变换124
6.6图像压缩125
6.7图像对象的面积计算126
6.8删除小面积对象126
6.9图像的边缘检测127
6.10三维重建129
6.11习题131
第7章微分方程模型求解132
7.1微分方程的符号解法132
7.2常微分方程数值解133
7.2.1求解具体ODE的基本过程134
7.2.2求解器Solver与方程组的关系135
7.2.3不同求解器Solver的特点135
7.2.4参数设置135
7.3偏微分方程的数值解137
7.4assempde求椭圆型方程141
7.5hyperbolic解双曲型偏微分方程142
7.6Parabolic解抛物型偏微分方程144
7.7特征问题146
7.8举例:二维反应扩散方程组数值解法(有限差分)147
7.9习题153
第8章插值?拟合建模与实验154
8.1插值154
8.2拟合162
8.2.1曲线拟合问题最常用的解法162
8.2.2用MATLAB作线性最小二乘拟合164
8.2.3用MATLAB作非线性最小二乘拟合165
8.3习题167
第9章图论方法建模与实验169
9.1图的基本概念169
9.2最小生成树172
9.3最短路问题175
9.4人员分配问题176
9.5最优分配问题178
9.6最大流问题180
9.7破圈法?Kruskal算法?Prim算法及其求解程序184
9.7.1破圈法184
9.7.2Kruskal算法(避圈法)185
9.7.3Prim算法186
9.7.4编程实现186
9.7.5Kruskal算法的MATLAB通用程序188
9.7.6Dijkstra算法的MATLAB通用程序189
9.8习题191
第10章随机方法建模与实验192
10.1概率空间192
10.1.1随机现象与随机试验192
10.1.2样本空间192
10.1.3概率空间193
10.1.4几何概率模型的实例193
10.2统计结构195
10.2.1对统计总体的认识195
10.2.2统计结构(统计模型)195
10.3Poisson过程与排队论模型196
10.3.1排队论的几个基本概念197
10.3.2Poisson过程:一种常用的输入过程197
10.3.3几类常见的排队论模型199
10.4因素主次的判别与模型优化202
10.4.1逐步剔除法的基本原理202
10.4.2剔除法优化回归模型的实例203
10.5MATLAB数理统计工具箱应用简介206
10.5.1概述206
10.5.2应用举例208
10.6习题213
第11章线性规划模型与实验216
11.1线性规划模型的标准形式216
11.1.1线性规划问题的特点216
11.1.2线性规划问题的数学模型216
11.1.3标准形式216
11.1.4非标准形式化为标准形式217
11.2解的基本概念217
11.3用数学软件包求解线性规划问题218
11.3.1用MATLAB软件中的命令解线性规划问题218
11.3.2用LINDO,LINGO软件包解规划问题221
11.4典型算例223
11.4.1问题223
11.4.2求解224
11.5单纯形法简介225
11.6习题229
第12章非线性规划模型与实验230
12.1非线性规划的一般形式230
12.2求解算法231
12.2.1求解非线性规划的基本迭代格式231
12.2.2最优解的必要条件232
12.2.3逐步二次规划法232
12.3用MATLAB优化工具箱解带约束的非线性规划234
12.3.1二次规划234
12.3.2一般非线性规划解法235
12.4MATLAB优化工具箱简介241
12.4.1MATLAB求解优化问题的主要函数241
12.4.2优化函数的输入变量241
12.4.3函数的输出变量242
12.4.4控制参数options的设置242
12.4.5模型输入时需要注意的问题242
12.4.6运用目标达到法求解多目标规划243
12.5习题246
第13章整数规划模型与实验247
13.1整数规划的一般形式247
13.2求解算法247
13.3整数线性规划分支定界法的MATLAB程序250
13.40-1型整数线性规划254
13.4.10-1型整数线性规划标准形式254
13.4.2求解0-1线性规划的隐枚举法255
13.4.3求解0-1型整数线性规划的MATLAB程序255
13.5习题258
第14章动态规划模型与实验260
14.1概述260
14.1.1动态规划的发展及研究内容260
14.1.2决策过程的分类261
14.2动态规划的基本理论261
14.2.1基本思想与逆序解法261
14.2.2动态规划的基本概念?基本方程263
14.3逆序解法的计算框图265
14.4动态规划与静态规划的关系267
14.5动态规划逆序算法的MATLAB程序268
14.5.1逆序算法的基本方程268
14.5.2动态规划逆序算法的MATLAB程序268
14.6典型算例270
14.7习题275
第15章模拟退火算法与实验278
15.1固体退火过程与Metropolis采样准则278
15.2模拟退火算法279
15.3算法的性能与关键技术284
15.4算法的改进策略287
15.4.1有记忆的模拟退火算法287
15.4.2增加局部搜索过程287
15.4.3带升温过程的模拟退火算法288
15.5习题289
第16章穷举算法与实验290
16.1三角形数问题290
16.2背包问题292
16.3边长为整数?周长为定数的三角形个数293
16.4一元三次方程的根294
16.5学校名次294
16.6阿姆斯特朗数296
16.7邮票面值297
16.8方格填数298
16.94皇后问题299
16.10巧妙填数300
16.11数塔问题301
16.12习题303
第17章遗传算法与实验304
17.1算法介绍304
17.1.1遗传算法的基本原理304
17.1.2遗传算法的实际应用306
17.1.3遗传算法的收敛性309
17.2相关函数(命令)及简介311
17.3实验311
17.4习题312
17.5附程序313
17.5.1主程序Genetic1.m313
17.5.2子程序PopulationInitialize.m314
17.5.3子程序Fitness.m315
17.5.4子程序Translate.m315
17.5.5子程序Transfer.m315
17.5.6子程序FitnessF.m315
17.5.7子程序Probability.m316
17.5.8子程序Select.m316
17.5.9子程序Crossing.m316
17.5.10子程序Mutation.m317
17.5.11子程序Elitist.m317
参考文献319