第1章 MATLAB入门 1
1.1变量与函数 1
1.1.1变量与数据 1
1.1.2数学运算符号及标点符号 3
1.1.3数学函数 4
1.1.4 M文件 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.3 MATLAB工作目录 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.1 if语句 24
2.2.2 switch语句 25
2.2.3 try语句 26
2.2.4选择语句的嵌套 26
2.3循环结构语句 27
2.3.1 for语句 27
2.3.2 while语句 27
2.3.3循环嵌套 28
2.3.4 break语句 28
2.4文件读写函数 29
2.5一个可运行MATLAB命令的函数 30
2.6局部工作空间和基本工作空间 31
2.7习题 31
第3章 MATLAB图形处理 33
3.1二维曲线绘图的基本操作 33
3.1.1 plot命令的调用 33
3.1.2符号函数(显函数、隐函数和参数方程)画图 35
3.1.3 plotyy函数(特殊坐标系下的二维图形) 38
3.2三维绘图的基本操作 39
3.2.1 plot3命令的调用 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函数:diff 84
4.5.2函数:de12 84
4.5.3函数:gradient 84
4.5.4函数:meshgrid 85
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.1 Fourier变换及其反变换 101
5.5.2 Laplace变换及其反变换 103
5.5.3 Z变换及其反变换 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.4 assempde求椭圆型方程 141
7.5 hyperbolic解双曲型偏微分方程 142
7.6 Parabolic解抛物型偏微分方程 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.2 Kruskal算法(避圈法) 185
9.7.3 Prim算法 186
9.7.4编程实现 186
9.7.5 Kruskal算法的MATLAB通用程序 188
9.7.6 Dijkstra算法的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.3 Poisson过程与排队论模型 196
10.3.1排队论的几个基本概念 197
10.3.2 Poisson过程:一种常用的输入过程 197
10.3.3几类常见的排队论模型 199
10.4因素主次的判别与模型优化 202
10.4.1逐步剔除法的基本原理 202
10.4.2剔除法优化回归模型的实例 203
10.5 MATLAB数理统计工具箱应用简介 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.4 MATLAB优化工具箱简介 241
12.4.1 MATLAB求解优化问题的主要函数 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.4 0-1型整数线性规划 254
13.4.1 0-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.9 4皇后问题 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主程序Geneticl.m 313
17.5.2子程序PopulationInitialize.m 314
17.5.3子程序Fitness.m 315
17.5.4子程序Translate.m 315
17.5.5子程序Transfer.m 315
17.5.6子程序FitnessF.m 315
17.5.7子程序Probability.m 316
17.5.8子程序Selectm 316
17.5.9子程序Crossing.m 316
17.5.10子程序Mutation.m 317
17.5.11子程序Elitist.m 317
参考文献 319