第1篇 基础篇 1
第1章 MATLAB科学计算基础 1
1.1认识MATLAB 1
1.2初学者如何使用MATLAB 2
1.3如何获取帮助 3
1.3.1本地帮助 3
1.3.2网上求助 4
1.4路径设置与转换 4
1.5偏好设置 5
1.6添加工具箱 7
1.7本章小结 8
第2章 理解MATLAB的数据类型 9
2.1 double型数据 9
2.2字符串 10
2.2.1字符串的定义 10
2.2.2字符串操作函数 11
2.3 cell结构 20
2.3.1图形化表示cell结构中的内容 21
2.3.2检查变量是否为cell结构 21
2.4结构型 22
2.5 8位整型数据 24
2.6不同数据类型之间的转换 24
2.7变量与常量 26
2.8本章小结 27
第3章 向量与矩阵运算 28
3.1向量的定义 28
3.2向量运算函数 30
3.2.1判断矩阵是否为向量 30
3.2.2向量的长度 30
3.2.3向量的外积 31
3.2.4向量的内积 31
3.2.5求解线性趋势项 32
3.2.6反转向量顺序 33
3.3集合的定义及相关运算 34
3.3.1集合的交集 34
3.3.2集合中元素的判断 35
3.3.3两个集合的差集 36
3.3.4集合异或运算 36
3.3.5集合的并集 37
3.3.6去除重复的元素 38
3.4矩阵生成方法 39
3.5特殊矩阵的生成 40
3.6矩阵计算的基本函数 41
3.6.1大小及索引问题 42
3.6.2矩阵整形 44
3.6.3对角矩阵 45
3.6.4矩阵旋转与移动 46
3.6.5矩阵大小的增减 49
3.6.6矩阵的本征值 50
3.7高维数组 51
3.7.1计算数组维数 51
3.7.2删除单独的维数 52
3.7.3移动数组维的顺序 52
3.7.4改变数组的维数 53
3.7.5计算高维函数的离散形式 53
3.8本章小结 54
第4章 表达式 55
4.1算术表达式 55
4.2关系表达式 56
4.3逻辑运算 56
4.3.1基本运算 57
4.3.2腐蚀与膨胀运算 61
4.4符号计算 62
4.4.1变量的定义 62
4.4.2赋值函数的使用 66
4.4.3符号微积分 67
4.5多项式 70
4.5.1多项式的定义 70
4.5.2特殊函数与特殊多项式 70
4.5.3多项式的运算 74
4.6卷积与相关 77
4.6.1计算二维离散卷积 78
4.6.2计算线相关系数 78
4.7表达式的应用技巧 79
4.7.1符号表达式转换为字符串 79
4.7.2变量的调用 80
4.7.3含变化参数的符号计算 80
4.7.4用函数实现赋值 80
4.7.5调用函数maple计算 80
4.7.6符号表达式的转换 81
4.7.7数值型矩阵转换为符号矩阵 81
4.7.8复合函数的应用 81
4.7.9建立抽象函数 81
4.8本章小结 82
第5章 程序结构与优化 83
5.1条件语句 83
5.2 switch语句 85
5.3循环结构 86
5.4递归结构 89
5.5人机交互函数 90
5.6程序加速 92
5.7程序注释 94
5.8常见错误的调试 94
5.8.1语法错误 95
5.8.2非语法错误 97
5.9本章小结 99
第6章 文件处理 100
6.1脚本文件 100
6.2函数文件 101
6.2.1函数的定义 101
6.2.2输入/输出参数的控制 101
6.2.3使用内联函数 104
6.2.4分段函数 105
6.2.5子函数和私有函数 107
6.3函数文件与脚本文件的比较 108
6.4数据文件 109
6.4.1常用数据文件的读取函数 109
6.4.2常用数据文件的写入函数 109
6.5图片文件 110
6.5.1把矩阵保存为图片文件 110
6.5.2打印当前图形文件 110
6.6视频和音频文件 111
6.7文件批处理结构 112
6.7.1基本批处理结构 112
6.7.2无规则文件名的处理 113
6.8本章小结 114
第2篇 科学计算 115
第7章 线性方程组 115
7.1基础MATLAB函数 115
7.2矩阵求逆法 116
7.3矩阵分解算法 117
7.4共轭梯度法 118
7.5本章小结 120
第8章 超越方程的求解 121
8.1函数解法 121
8.2数值方法 130
8.3本章小结 132
第9章 数据拟合与插值 133
9.1拟合基础 133
9.2最小二乘拟合 134
9.3多项式拟合 138
9.4非线性拟合 139
9.5 Lagrange插值 141
9.6 Hermite插值 142
9.7样条插值 142
9.8二维插值 148
9.9本章小结 149
第10章 最值问题的求解 150
10.1极值计算 150
10.1.1连续情况 150
10.1.2离散情况 153
10.2最值计算 155
10.3利用极值画包络线 165
10.4本章小结 167
第11章 随机数的应用 168
11.1随机数的产生 168
11.1.1一般随机函数的调用格式 168
11.1.2生成其他分布的随机函数 169
11.1.3随机排序函数类型 170
11.1.4概率密度函数 171
11.1.5累积概率值 172
11.1.6逆累积分布函数 173
11.2随机数的使用 174
11.2.1 Galton板实验 174
11.2.2赌徒输光问题 175
11.3统计量的计算 175
11.3.1单值参数 175
11.3.2多值参数 177
11.4回归分析 178
11.4.1线性回归 178
11.4.2非线性回归 181
11.5本章小结 183
第12章 微分方程组的计算 184
12.1极限 184
12.2全导数 184
12.3 dsolve函数 185
12.4 ode系列函数 186
12.4.1 odeset函数 186
12.4.2函数ode 15i 188
12.4.3示例 188
12.5打靶法 192
12.6时滞微分方程 195
12.7偏微分方程 196
12.8利用微分算积分 201
12.9本章小结 202
第13章 积分运算 203
13.1级数求和 203
13.1.1 symsum函数 203
13.1.2 taylor函数 204
13.1.3傅里叶级数 204
13.2离散积分计算 205
13.2.1函数法 205
13.2.2累加法 211
13.3奇异积分计算 214
13.4本章小结 214
第14章 数学变换运算 216
14.1分数傅里叶变换 216
14.2菲涅尔变换 219
14.3 Hartley变换 220
14.4离散正/余弦变换 222
14.5分数随机变换 223
14.6汉克尔(Hankel)变换 224
14.7小波变换 226
14.7.1计算一维小波变换 227
14.7.2实现逆离散小波变换 227
14.7.3实现二维离散小波变换 227
14.7.4实现二维逆小波变换 228
14.8本章小结 228
第15章 特殊函数 229
15.1 Bessel函数 229
15.2 Hermite函数 231
15.3阶乘函数与Gamma函数 233
15.4 Beta函数 234
15.5其他特殊数学函数 234
15.6本章小结 235
第3篇 数据可视化仿真 236
第16章 二维数据可视化 236
16.1基本命令 236
16.1.1曲线绘制的基本函数 236
16.1.2特殊图形的函数 240
16.1.3符号绘图 247
16.2图形编辑 251
16.2.1应用句柄 251
16.2.2鼠标控制 253
16.2.3图形注释 255
16.2.4字体设定 257
16.3自定义特殊图形样式 258
16.3.1用特殊字符标注刻度 258
16.3.2用特殊图案填充条状图 259
16.3.3自定义网格 259
16.3.4画箭头 259
16.3.5多值函数的绘制 260
16.4基本图形的绘制 261
16.4.1线段和弧线 261
16.4.2矩形 262
16.4.3正N边形和圆 262
16.4.4弯曲的圆管 263
16.4.5封闭图形的填充 263
16.5多图布局 263
16.5.1 subplot函数 264
16.5.2 axes函数 264
16.5.3图上图 265
16.6图像处理函数 265
16.7动画的绘制 267
16.7.1制作动画的方法 267
16.7.2保存动画 268
16.7.3实例 268
16.8图形的保存 270
16.9本章小结 271
第17章 三维数据可视化 272
17.1基本函数 272
17.1.1函数meshgrid 272
17.1.2三维曲线 273
17.1.3三维网格图 274
17.1.4用ezmesh绘制三维网格图 274
17.1.5带有等高线的网状图 274
17.1.6带有等高线的网状图 275
17.1.7带有“围裙”的网状图 275
17.1.8三维曲面图 276
17.1.9基于数学表达式的三维曲面 277
17.1.10带有等高线的曲面 277
17.1.11带有光照效果的曲面 278
17.1.12三维表面法向 278
17.1.13三维等高线 279
17.1.14流水效果的曲面 279
17.1.15 颜色表示高度值的图形 280
17.1.16三维饼图 281
17.1.17螺旋体坐标 281
17.1.18单位球体的坐标 283
17.1.19椭球体表面坐标 283
17.1.20函数slice 283
17.2彩色图及颜色条 284
17.2.1控制着色方式 284
17.2.2图片亮度的控制 285
17.2.3绘制色轴 286
17.2.4指定色轴的刻度 286
17.2.5图形的映像数据表 287
17.2.6设置颜色渲染属性 287
17.2.7透明度的设置 288
17.2.8单色网格曲面 288
17.3视角与光照 290
17.3.1改变三维图形的视角 290
17.3.2灯光效果设置 291
17.4图形的注释 292
17.5本章小结 293
第18章 图形用户界面设计 294
18.1菜单设计 294
18.1.1函数及使用说明 294
18.1.2回调函数设计 296
18.2自定义工具条 296
18.2.1图形编辑功能 296
18.2.2个性化图标 300
18.2.3参数设置 301
18.3控件设计 301
18.3.1基本函数 301
18.3.2控件基础 302
18.3.3回调函数设计 303
18.4对话框 308
18.4.1图形窗口 309
18.4.2错误对话框 309
18.4.3帮助对话框 309
18.4.4输入对话框 310
18.4.5列表对话框 310
18.4.6消息对话框 310
18.4.7版面对话框 311
18.4.8打印对话框 311
18.4.9问题对话框 311
18.4.10文件检索对话框 311
18.4.11为写入文件而显示的检索对话框 312
18.4.12颜色设置对话框 312
18.4.13字体设置对话框 312
18.4.14警告信息框 313
18.4.15 显示程序计算进度条对话框 313
18.5 GUIDE 313
18.6本章小结 315
第4篇 科学问题编程 316
第19章 MATLAB建模基础 316
19.1抽象模型 316
19.1.1数学建模的一般方法和步骤 316
19.1.2数学模型的分类 317
19.1.3数学建模示例 317
19.2离散采样方法 318
19.3算法结构设计 320
19.4实例仿真 322
19.5验证方法 323
19.6算法优化 324
19.7本章小结 325
第20章 混沌现象 326
20.1离散混沌 326
20.1.1罗杰斯蒂映射 326
20.1.2埃农映射 326
20.1.3帐篷映射 327
20.1.4肯特映射 327
20.1.5 Lozi映射 327
20.1.6 Ushiki映射 327
20.1.7三个迭代式形成的映射关系 327
20.1.8双混沌图形 328
20.1.9标准映射 329
20.2微分方程中的分岔和混沌行为 329
20.2.1根据微分方程绘制分岔图形的做法 329
20.2.2三元微分方程组中的分岔、混沌现象的模拟 331
20.2.3蔡氏混沌电路 331
20.3混沌吸引子 331
20.3.1相图 332
20.3.2 Lorenz吸引子 332
20.3.3 Rossler吸引子 333
20.4 Lyapunov指数 334
20.5本章小结 334
第21章 分形图形 335
21.1基本分形图 335
21.1.1康托集 335
21.1.2 Julia集 336
21.1.3 Koch曲线 338
21.2迭代函数系统 339
21.2.1基本定义 340
21.2.2分形树叶 342
21.2.3分形树 343
21.2.4龙曲线 345
21.3递归算法 346
21.3.1分形树木 346
21.3.2 Arboresent肺 347
21.3.3 Sierpinski垫片 347
21.3.4 Peano曲线 348
21.3.5 C曲线 349
21.3.6多角星构成的分形图 350
21.4分维的计算 350
21.5本章小结 351
第22章 元胞自动机 352
22.1奇偶规则 352
22.2沙堆规则 353
22.3细菌生长模型 355
22.4气体扩散 356
22.5蚂蚁规则 357
22.6六边形格子的粒子运动 358
22.7本章小结 359
第23章 晶体生长模拟 360
23.1随机布朗运动 360
23.2扩散限制凝聚(DLA) 362
23.3随机吸附 363
23.4随机向心吸附 363
23.5本章小结 364
第24章 光学现象模拟 365
24.1网格上的鱼眼 365
24.2计算全息编码及再现程序 367
24.3光的等厚干涉 369
24.4杨氏双缝干涉 370
24.5牛顿环 370
24.6本章小结 371
第25章 机械运动模拟 372
25.1凸轮机构绕中轴线旋转 372
25.2阻尼运动 373
25.3连杆机构的运动模拟 375
25.3.1双摆运动的模拟 375
25.3.2四连杆结构的运动情况 376
25.3.3带有套环的机械结构的运动过程 376
25.3.4小球在水平面上受3根弹簧作用下的运动 377
25.4凸轮的转动 377
25.5本章小结 378
第26章 经济和金融问题的求解 379
26.1金融工具箱介绍 379
26.2时间序列预测模型 380
26.2.1布朗(Brown)非线性指数法产生时间序列 380
26.2.2 Gomperta曲线预测模型 381
26.2.3 logistic曲线预测模型 382
26.3经济学模型 383
26.3.1凯恩斯模型 383
26.3.2封闭经济系统的动态IS-LM模型 384
26.3.3开放经济系统的动态IS-LM-BP模型 385
26.4规划问题求解 385
26.5本章小结 387
第27章 常用算法及MATLAB实现 388
27.1遗传算法 388
27.2模拟退火算法 392
27.3分步傅里叶算法 394
27.4蚁群算法 394
27.5分水岭算法 395
27.6粒子群优化算法 396
27.7 BP算法 397
27.8最短路径Dijkstra和Floyd算法 398
27.9 3个圆的外切圆算法 399
27.10本章小结 400