精通MATLAB科学计算与数据统计应用
出版时间:2017
内容简介
在各行各业的工程实践中,有大量的科学计算工作需要完成。传统的计算方式一般需要较长的周期,相比之下开发效率极高的MATLAB是一个更好的选择。在MATLAB中,编程细节被简化,繁琐的实现过程也被略去,用户可以将更多精力集中于所需要处理的核心问题上。
MATLAB科学计算涉及数学、机械、电子、控制和金融等多个领域。本书以MATLAB科学工程计算为立足点,介绍MATLAB在科学计算领域中如何运用庞大的科学函数库来解决一些实际问题。在函数的选择上兼顾各函数的使用频率和专业性,力求典型全面。本书可作为MATLAB课程的教学用书或者线性代数、概率统计等课程的教学辅助书。
目录
第1章MATLAB入门1
1.1MATLAB简介1
1.1.1MATLAB的产生和发展1
1.1.2MATLAB的产品构成与特点2
1.1.3MATLAB与科学计算4
1.2MATLAB的安装开发环境、窗口简介4
1.2.1MATLAB的安装4
1.2.2MATLAB的集成开发环境9
1.2.3MATLAB的窗口10
1.3MATLAB程序及其帮助系统13
1.3.1搜索路径13
1.3.2M文件14
1.3.3帮助系统16
1.3.4学习MATLAB的方法19
第2章MATLAB程序设计21
2.1基本语法21
2.1.1标识符21
2.1.2数据类型23
2.1.3运算符35
2.1.4流程控制语句37
2.1.5矩阵与数组41
2.1.6脚本与函数43
2.2文件I/O44
2.2.1使用load/save44
2.2.2读写文本文件45
2.2.3读写图像文件47
2.3MATLAB编程技巧49
2.3.1高效开发技巧49
2.3.2提高代码效率49
2.3.3向量化编程50
2.3.4并行计算50
2.3.5稀疏矩阵51
2.4综合实例56
第3章可视化编程58
3.1绘制二维图形58
3.1.1常用绘图函数58
3.1.2图形设置60
3.1.3特殊图形62
3.1.4特殊坐标系函数64
3.2绘制三维图形65
3.3GUIDE工具69
3.3.1设计工具69
3.3.2句柄图形对象70
3.3.3GUIDE简介72
3.3.4创建GUIDE74
3.3.5GUI的编程78
3.3.6CallBack函数80
3.4综合实例81
第4章MATLAB求微分与积分89
4.1极限89
4.2数值积分92
4.2.1Int求积分92
4.2.2梯形法求积分96
4.2.3辛普森(Simpleson)积分法98
4.2.4重积分辛普森
(Simpleson)法101
4.2.5多重数值积分法103
4.2.6积分变换104
4.3数值微分107
4.3.1Diff求微分107
4.3.2梯度109
4.3.3jacobian函数110
4.3.4中点公式112
4.3.5三点公式法和五点公式法113
4.3.6样条函数法116
4.3.7辛普森(Simpleson)微分法117
4.3.8多项式的微分121
4.4综合实例123
第5章MATLAB插值计算124
5.1一维插值124
5.1.1拉格朗日插值124
5.1.2牛顿插值129
5.1.3埃尔米特插值131
5.1.4分段低次插值135
5.1.5三次样条插值138
5.2二维插值140
5.2.1近邻插值141
5.2.2分片线性插值141
5.2.3双线性插值142
5.2.4双三次插值143
5.2.5散乱节点插值147
5.3综合实例149
第6章MATLAB函数逼近152
6.1泰勒逼近152
6.2平方逼近156
6.2.1平方逼近的原理156
6.2.2正交多项式162
6.2.3切比雪夫多项式163
6.2.4勒让德多项式170
6.3一致逼近175
6.4综合实例—泰勒展开式的降次182
第7章MATLAB曲线与曲面拟合185
7.1二乘拟合185
7.2MATLAB拟合函数191
7.2.1多元线性拟合—lsqlin、regress191
7.2.2一元多项式拟合194
7.2.3非线性拟合198
7.3MATLAB拟合工具箱203
7.4综合实例—临床药物注射问题213
第8章MATLAB求解线性方程组216
8.1线性方程组216
8.2符号解法217
8.3求逆法221
8.4矩阵分解法223
8.4.1Cholesky分解223
8.4.2LU分解225
8.4.3QR分解227
8.5迭代法228
8.5.1Gauss—Seidel迭代法229
8.5.2SOR超松弛迭代法231
8.5.3Jacobi迭代法234
8.5.4Bicg迭代法236
8.6综合实例238
第9章MATLAB求解非线性方程组242
9.1二分法242
9.2迭代法244
9.2.1牛顿法246
9.2.2简化牛顿法248
9.2.3割线迭代法249
9.2.4黄金分割法250
9.2.5抛物线法252
9.2.6不动点迭代法254
9.2.7牛顿下山法256
9.3综合实例257
第10章MATLAB概率统计261
10.1概率统计工具箱261
10.2随机数生成262
10.2.1生成均匀分布随机数264
10.2.2生成正态分布随机数266
10.3随机变量的统计值267
10.3.1求期望267
10.3.2求方差269
10.3.3求标准差270
10.3.4矩272
10.3.5几何平均数273
10.3.6算术平均数274
10.3.7中位数274
10.3.8值差275
10.3.9调和平均数276
10.3.10样本的偏斜度277
10.3.11协方差278
10.3.12相关系数279
10.3.13其他数字特征281
10.4参数估计281
10.4.1均匀分布的参数估计282
10.4.2正态分布的参数估计283
10.4.3二项分布的参数估计284
10.4.4mle—指定分布的参数估计285
10.5假设检验286
10.5.1t检验法287
10.5.2u检验法288
10.5.3秩和检验289
10.5.4符号秩检验290
10.6回归291
10.6.1线性回归291
10.6.2非线性回归292
10.7综合实例293
第11章MATLAB求解微分方程组298
11.1常微分方程298
11.1.1微分方程组的符号解298
11.1.2欧拉法299
11.1.3改进的欧拉法301
11.1.4龙格—库塔法303
11.1.5亚当斯(Adams)外插法307
11.1.6亚当斯(Adams)内插法308
11.2偏微分方程——有限差分法309
11.2.1网格剖分309
11.2.2数值微分310
11.3PDE工具箱311
11.3.1PDE支持的方程311
11.3.2PDE使用说明312
11.4综合实例315
第12章MATLAB优化计算320
12.1MATLAB优化工具箱的函数320
12.1.1优化工具箱321
12.2线性规划329
12.30—1整数规划333
12.4二次规划334
12.5多目标规划337
12.6贪心算法339
12.7遗传算法341
12.8模拟退火算法345
12.9粒子群算法347
12.10综合实例347
第13章C/C++与MATLAB混合编程353
13.1C/C++与MATLAB混合调用的方法353
13.2MATLAB调用C/C++354
13.2.1MATLAB的MEX文件355
13.2.2C—MEX文件的使用356
13.3C/C++调用MATLAB357
13.3.1C/C++调用引擎357
13.3.2C/C++调用Matcom363
13.3.3C/C++调用COM370
13.3.4C/C++调用动态链接库376
13.4综合实例381
第14章MATLAB工程计算案例精粹387
14.1Delta并联机器人建模387
14.1.1背景介绍387
14.1.2问题阐述388
14.1.3实验例程390
14.2柴油机故障诊断394
14.2.1问题阐述394
14.2.2实验例程395
14.3街头游戏解谜398
14.3.1问题阐述398
14.3.2实验例程398
14.4零件参数的设计400
14.4.1问题阐述400
14.4.2实验例程402