新書推薦:
《
阅世奇言:靖康生死局
》
售價:HK$
74.8
《
前浪后浪:近代中国知识分子的精神世界
》
售價:HK$
96.8
《
八路军史
》
售價:HK$
107.8
《
美味简史
》
售價:HK$
52.8
《
带团队
》
售價:HK$
74.8
《
变富:如何有效积累足够的财富
》
售價:HK$
86.9
《
大宋西军
》
售價:HK$
85.8
《
这才是真正的诸葛亮
》
售價:HK$
74.8
|
編輯推薦: |
国内外类似教材有两类,一类是介绍MATLAB语言编程,一类是介绍MATLAB在科学运算方面的应用.本书是国内外唯一一部覆盖各种应用数学范围的教材.从介绍数学问题求解的方法看,国内外大多数教材均类似于说明书的叙述方式,介绍MATLAB已有的功能,而本书以数学课程描述的方式组织材料,如果MATLAB已有某些功能,则建议直接使用(如果功能有缺陷则编写代码弥补),如果没有某些必要的功能,作者会编写通用相关代码直接解决问题.相信读者通过阅读本书, 会有很大收获!
|
內容簡介: |
本书首先介绍MATLAB语言程序设计的基本内容,在此基础上系统介绍各个应用数学领域的问题求解,如基于MATLAB的微积分问题、线性代数问题、积分变换与复变函数问题、非线性方程与**化问题、常微分方程与偏微分方程问题、数据插值与函数逼近问题、概率论与数理统计问题的解析解和数值解方法等;还介绍了较新的非传统方法,如模糊逻辑与模糊推理、神经网络、深度学习、进化寻优算法、小波分析、粗糙集数据处理及分数阶微积分的计算方法等。 本书可作为一般读者学习和掌握MATLAB语言的教科书,高等学校理工科各类专业的本科生和研究生学习计算机数学语言的教材或参考书,可供科技工作者、教师学习和应用MATLAB语言解决实际数学问题时参考,还可作为读者查询数学问题求解方法的手册。
|
關於作者: |
薛定宇 分别在沈阳工业大学、东北大学和英国Sussex大学获得学士(1985年)、硕士(1988年)和博士学位(1992年),1997年起任东北大学信息学院教授。深耕于计算机在数学与自动控制学科的应用,主持了国家精品课程建设,并于1996年在清华大学出版社出版《控制系统计算机辅助设计——MATLAB语言与应用》(该教材被评为国家级精品教材,被认为是国内MATLAB应用领域具有深远影响的一部图书,为MATLAB在国内高校教学与科研中的普及起到了巨大的作用)。先后被评为辽宁省教学名师、辽宁省优秀教师,获得国家级教学成果二等奖、中国自动化学会教育教学成果一等奖、辽宁省教学成果一等奖等奖励。主讲的“控制系统仿真与CAD”课程被评为国家级精品课程、国家级精品资源共享课程;主讲的“现代科学运算——MATLAB语言与应用”课程入选首批国家级一流本科课程,配套录制的全新慕课课程均上线于爱课程与中国大学MOOC(慕课)网站。
|
目錄:
|
第 1章计算机数学语言概述 1
1.1数学问题计算机求解概述 1
1.1.1为什么要学习计算机数学语言 1
1.1.2数学问题的解析解与数值解 4
1.1.3数学运算问题软件包发展概述 5
1.1.4常规计算机语言的局限性 6
1.2计算机数学语言简介 7
1.2.1计算机数学语言的出现 7
1.2.2有代表性的计算机数学语言 8
1.3关于本书及相关内容 8
1.3.1本书框架设计及内容安排 9
1.3.2 MATLAB语言学习方法与资源 9
1.3.3本课程与其他相关课程的关系 10
1.3.4数学问题三步求解方法概述 10
1.4习题 12
第 2章 MATLAB语言程序设计基础 13
2.1 MATLAB程序设计语言基础 14
2.1.1 MATLAB语言的变量与常量 14
2.1.2数据结构 14
2.1.3 MATLAB的基本语句结构 16
2.1.4冒号表达式与子矩阵提取 17
2.2基本数学运算 18
2.2.1矩阵的算术运算 18
2.2.2矩阵的逻辑运算 20
2.2.3矩阵的比较运算 20
2.2.4解析结果的化简与变换 21
2.2.5基本离散数学运算 22
2.3 MATLAB语言的流程结构 23
2.3.1循环结构 24
X高等应用数学问题的 MATLAB求解(第五版)
2.3.2条件转移结构 25
2.3.3开关结构 25
2.3.4试探结构 26
2.4函数编写与调试 26
2.4.1 MATLAB语言函数的基本结构 27
2.4.2变元检测段落 29
2.4.3可变输入输出个数的处理 30
2.4.4匿名函数与 inline函数 31
2.4.5伪代码与代码保密处理 31
2.5二维图形绘制 32
2.5.1二维图形绘制基本语句 32
2.5.2多纵轴曲线的绘制 34
2.5.3其他二维图形绘制语句 35
2.5.4隐函数绘制及应用 36
2.5.5图形修饰 37
2.5.6数据文件的读取与存储 38
2.6三维图形表示 39
2.6.1三维曲线绘制 39
2.6.2三维曲面绘制 40
2.6.3三维图形视角设置 43
2.6.4参数方程的表面图 44
2.6.5球面与柱面绘制 44
2.6.6等高线绘制 45
2.6.7三维隐函数图形绘制 46
2.6.8三维曲面的旋转 47
2.7四维图形绘制 48
2.7.1三维动画 48
2.7.2体视化数据显示 48
2.7.3体视化处理工具 49
2.8面向对象编程入门 50
2.8.1面向对象编程的基本概念 50
2.8.2类的设计 51
2.8.3类的创建及对象显示 52
2.8.4重载函数的编写 54
2.9习题 57
第 3章微积分问题的计算机求解 62
3.1极限问题的解析解 62
3.1.1单变量函数的极限 63
3.1.2多元函数的极限 65
3.2函数导数的解析解 67
3.2.1函数的导数和高阶导数 67
3.2.2多元函数的偏导数 68
3.2.3多元函数的 Jacobi矩阵与 Hesse矩阵 70
3.2.4参数方程的导数 71
3.2.5隐函数的偏导数 71
3.2.6场的梯度、散度与旋度 73
3.3积分问题的解析解 73
3.3.1不定积分的推导 74
3.3.2定积分与无穷积分计算 75
3.3.3多重积分问题的 MATLAB求解 75
3.4函数的级数展开与级数求和问题求解 76
3.4.1 Taylor幂级数展开 76
3.4.2 Fourier级数展开 79
3.4.3级数求和的计算 81
3.4.4序列求积问题 82
3.4.5无穷级数的收敛性判定 83
3.5曲线积分与曲面积分的计算 85
3.5.1曲线积分及 MATLAB求解 85
3.5.2曲面积分与 MATLAB语言求解 87
3.6数值微分问题 88
3.6.1数值微分算法 88
3.6.2高精度数值微分算法的 MATLAB实现 88
3.6.3二元函数的梯度计算 89
3.7数值积分问题 91
3.7.1由给定数据进行梯形求积 91
3.7.2单变量数值积分问题求解 93
3.7.3广义数值积分问题求解 95
3.7.4积分函数的数值求解 96
3.7.5双重积分问题的数值解 96
3.7.6三重定积分的数值求解 99
3.7.7多重积分数值求解 99
3.8习题 100
第 4章线性代数问题的计算机求解 106
4.1特殊矩阵的输入 106
4.1.1数值矩阵的输入 107
4.1.2稀疏矩阵的输入 110
XII高等应用数学问题的 MATLAB求解(第五版)
4.1.3符号矩阵的输入 111
4.2矩阵基本分析 112
4.2.1矩阵基本概念与性质 112
4.2.2逆矩阵与广义逆矩阵 117
4.2.3矩阵的特征值问题 121
4.3矩阵的基本变换与分解 123
4.3.1相似变换与正交矩阵 123
4.3.2矩阵的三角分解和 Cholesky分解 123
4.3.3矩阵的相伴变换、对角变换和 Jordan变换 128
4.3.4矩阵的奇异值分解 131
4.4矩阵方程的计算机求解 133
4.4.1线性方程组的计算机求解 133
4.4.2 Lyapunov方程的计算机求解 136
4.4.3 Sylvester方程的计算机求解 139
4.4.4 Diophantine方程的求解 141
4.4.5 Riccati方程的计算机求解 142
4.5非线性运算与矩阵函数求值 143
4.5.1面向矩阵元素的非线性运算 143
4.5.2矩阵函数求值 143
4.5.3一般矩阵函数的运算 146
4.5.4矩阵的乘方运算 148
4.6习题 150
第 5章积分变换与复变函数问题的计算机求解 155
5.1 Laplace变换及其反变换 155
5.1.1 Laplace变换及其反变换的定义与性质 155
5.1.2 Laplace变换的计算机求解 156
5.1.3 Laplace变换问题的数值求解 158
5.2 Fourier变换及其反变换 161
5.2.1 Fourier变换及其反变换的定义 161
5.2.2 Fourier变换的计算机求解 162
5.2.3 Fourier正弦变换和余弦变换 163
5.2.4离散 Fourier正弦变换和余弦变换 164
5.2.5快速 Fourier变换 164
5.3其他积分变换问题及求解 165
5.3.1 Mellin变换 165
5.3.2 Hankel变换及求解 166
5.4 z变换及其反变换 167
5.4.1 z变换及其反变换的定义 168
5.4.2 z变换的计算机求解 168
5.4.3双边 z变换 169
5.4.4有理函数 z反变换的数值求解 169
5.5复变函数问题的计算机求解 170
5.5.1复数矩阵及其变换 170
5.5.2复变函数的映射 170
5.5.3 Riemann面绘制 171
5.6复变函数问题的求解 173
5.6.1留数的概念与计算 173
5.6.2有理函数的部分分式展开 174
5.6.3 Laplace反变换求解 177
5.6.4 Laurent级数展开 177
5.6.5封闭曲线积分问题计算 180
5.7差分方程的求解 181
5.7.1一般差分方程的解析求解方法 182
5.7.2线性时变差分方程的数值解法 183
5.7.3线性时不变差分方程的解法 184
5.7.4一般非线性差分方程的数值求解方法 185
5.8习题 186
第 6章代数方程与最优化问题的计算机求解 191
6.1代数方程的求解 191
6.1.1代数方程的图解法 191
6.1.2多项式型方程的准解析解法 192
6.1.3一般非线性方程数值解 195
6.1.4求解多解方程的全部解 197
6.1.5更高精度的求根方法 201
6.1.6欠定方程的求解 203
6.2无约束最优化问题求解 204
6.2.1解析解法和图解法 204
6.2.2基于 MATLAB的数值解法 205
6.2.3全局最优解与全局最优解法 207
6.2.4利用梯度求解最优化问题 209
6.2.5带有变量边界约束的最优化问题求解 211
6.3有约束最优化问题的计算机求解 211
6.3.1约束条件与可行解区域 211
6.3.2线性规划问题的计算机求解 212
6.3.3二次型规划的求解 217
6.3.4基于问题的描述与求解 217
XIV高等应用数学问题的 MATLAB求解(第五版)
6.3.5一般非线性规划问题的求解 219
6.3.6一般非线性规划问题的全局最优解尝试 223
6.4混合整数规划问题的计算机求解 223
6.4.1整数规划问题的穷举方法 224
6.4.2整数线性规划问题的求解 225
6.4.3一般非线性整数规划问题与求解 226
6.4.4 0–1规划问题求解 228
6.4.5指派问题的求解 230
6.5线性矩阵不等式问题求解 231
6.5.1线性矩阵不等式的一般描述 232
6.5.2 Lyapunov不等式 232
6.5.3线性矩阵不等式问题分类 234
6.5.4线性矩阵不等式问题的 MATLAB求解 234
6.5.5基于 YALMIP工具箱的最优化求解方法 236
6.6多目标优化问题求解 237
6.6.1多目标优化模型 237
6.6.2无约束多目标函数的最小二乘求解 238
6.6.3多目标问题转换为单目标问题求解 238
6.6.4多目标优化问题的 Pareto解集 241
6.6.5极小极大问题求解 242
6.6.6目标规划问题求解 243
6.7动态规划及其在路径规划中的应用 243
6.7.1图的矩阵表示方法 244
6.7.2有向图的路径寻优 244
6.7.3无向图的路径最优搜索 247
6.7.4绝对坐标节点的最优路径规划算法与应用 247
6.8习题 248
第 7章微分方程问题的计算机求解 254
7.1常系数线性微分方程的解析解方法 254
7.1.1常系数线性微分方程解析解的数学描述 254
7.1.2微分方程的解析解方法 255
7.1.3微分方程组的解析求解 257
7.1.4线性状态空间方程的解析解 258
7.1.5特殊非线性微分方程的解析解 258
7.2微分方程问题的数值解法 259
7.2.1微分方程问题算法概述 259
7.2.2四阶定步长 Runge–Kutta算法及 MATLAB实现 261
7.2.3一阶微分方程组数值解 261
7.2.4微分方程数值解的验证 265
7.3微分方程转换 266
7.3.1单个高阶常微分方程处理方法 266
7.3.2高阶常微分方程组的变换方法 268
7.3.3矩阵微分方程的变换与求解方法 271
7.4特殊微分方程的数值解 273
7.4.1刚性微分方程的求解 274
7.4.2隐式微分方程求解 277
7.4.3微分代数方程的求解 279
7.4.4切换微分方程的求解 281
7.4.5随机线性微分方程的求解 282
7.5延迟微分方程求解 284
7.5.1典型延迟微分方程的数值求解 284
7.5.2变时间延迟微分方程的求解 286
7.5.3中立型延迟微分方程的求解 288
7.6边值问题的计算机求解 289
7.7偏微分方程求解入门 292
7.7.1偏微分方程组求解 292
7.7.2二阶偏微分方程的数学描述 294
7.7.3偏微分方程的求解界面应用举例 295
7.8基于 Simulink的微分方程框图求解 300
7.8.1 Simulink简介 300
7.8.2 Simulink相关模块 301
7.8.3微分方程的 Simulink建模与求解 302
7.9习题 308
第 8章数据插值与函数逼近问题的计算机求解 313
8.1插值与数据拟合 313
8.1.1一维数据的插值问题 313
8.1.2已知样本点的定积分计算 316
8.1.3二维网格数据的插值问题 318
8.1.4二维散点分布数据的插值问题 319
8.1.5高维插值问题 321
8.1.6基于样本数据点的离散最优化问题求解 322
8.2样条插值与数值微积分问题求解 323
8.2.1样条插值的 MATLAB表示 323
8.2.2基于样条插值的数值微积分运算 325
8.3由已知数据拟合数学模型 328
8.3.1多项式拟合 328
XVI高等应用数学问题的 MATLAB求解(第五版)
8.3.2函数线性组合的曲线拟合方法 329
8.3.3最小二乘曲线拟合 331
8.3.4多变量函数的最小二乘函数拟合 333
8.4已知函数的有理式逼近方法 333
8.4.1 Padé近似 333
8.4.2给定函数的特殊多项式近似 335
8.5特殊函数及曲线绘制 337
8.5.1误差函数与补误差函数 337
8.5.2 Gamma函数 338
8.5.3 Beta函数 339
8.5.4 Bessel函数 340
8.5.5 Legendre函数 341
8.5.6超几何函数 342
8.6 Mittag-Leffler函数 343
8.7信号分析与数字信号处理基础 347
8.7.1信号的相关分析 347
8.7.2信号的功率谱分析 348
8.7.3滤波技术与滤波器设计 349
8.8习题 352
第 9章概率论与数理统计问题的计算机求解 355
9.1概率分布与伪随机数生成 355
9.1.1概率密度函数与分布函数概述 355
9.1.2常见分布的概率密度函数与分布函数 356
9.1.3随机数与伪随机数生成 361
9.2概率问题的求解 361
9.2.1离散数据的直方图与饼图表示 361
9.2.2连续事件的概率计算 363
9.2.3基于 Monte Carlo法的数学问题求解 364
9.2.4随机游走过程的仿真 365
9.3基本统计分析 366
9.3.1随机变量的均值与方差 366
9.3.2随机变量的矩 367
9.3.3多变量随机数的协方差分析 368
9.3.4多变量正态分布的联合概率密度函数及分布函数 369
9.3.5离群值、四分位数与盒子图 370
9.4数理统计分析方法及计算机实现 372
9.4.1参数估计与区间估计 372
9.4.2多元线性回归与区间估计 373
9.4.3非线性函数的最小二乘参数估计与区间估计 375
9.4.4极大似然估计 377
9.5统计假设检验 378
9.5.1统计假设检验的概念及步骤 378
9.5.2随机分布的假设检验 380
9.6方差分析与主成分分析 382
9.6.1方差分析 382
9.6.2主成分分析 386
9.7习题 388
第 10章数学问题的非传统解法 391
10.1集合论、模糊集与模糊推理 391
10.1.1经典可枚举集合论问题及 MATLAB求解 391
10.1.2模糊集合与隶属度函数 393
10.1.3模糊推理系统及其 MATLAB求解 397
10.2粗糙集理论与应用 400
10.2.1粗糙集理论简介 400
10.2.2粗糙集的基本概念 400
10.2.3信息决策系统 401
10.2.4粗糙集数据处理问题的 MATLAB求解 403
10.2.5粗糙集约简的 MATLAB程序界面 405
10.3人工神经网络与深度学习 406
10.3.1神经网络基础知识 406
10.3.2前馈型神经网络 408
10.3.3径向基网络结构与应用 414
10.3.4深度学习简介 415
10.4进化算法及其在最优化问题中的应用 419
10.4.1遗传算法的基本概念及 MATLAB实现 419
10.4.2 MATLAB全局优化工具箱简介 420
10.4.3无约束最优化的全局最优求解 421
10.4.4有约束优化问题的全局最优求解 423
10.4.5混合整数规划的全局最优求解 424
10.5小波变换及其在数据处理中的应用 425
10.5.1小波变换及基小波波形 425
10.5.2小波变换技术在信号处理中的应用 428
10.5.3小波问题的程序界面 431
10.6分数阶微积分学问题的数值运算 431
10.6.1分数阶微积分的定义 432
10.6.2不同分数阶微积分定义的关系与性质 433
XVIII高等应用数学问题的 MATLAB求解(第五版)
10.6.3分数阶微积分的计算方法 434
10.6.4分数阶微分方程的求解方法 439
10.6.5基于框图的非线性分数阶微分方程近似解法 443
10.7习题 447
参考文献 451
MATLAB函数名索引 457
术语索引 464
|
內容試閱:
|
本书从作者最早酝酿至今已经二十年过去了。当初创建这门课程的初衷,是想让学生掌握国际科学研究领域一线的利器,重新审视工科数学各个分支的数学问题,探讨通用的求解方法,极大地提升求解科学运算问题的水平。应该说,本书实现了这样的预期。
若干年之前,作者看到了钱学森先生在 1985年提出的中国工科数学课程改革的思想,其中心思想是尽量教会学生使用计算机求解数学问题,而不是一味使用传统数学课程讲述的方法,利用底层推导的方法去求解。事实上,在实际应用中遇到的很多问题,用传统数学课程介绍的方法是不可能求解的,因而,借助计算机与强大的计算机数学语言求解科学运算问题已经成为必然。从某种意义上讲,围绕本书的近二十年的教学与研究工作是大师理念的一种实践,并取得了一些有益的成果。
基于本教材建设的课程“现代科学运算—— MATLAB语言与应用”在 2020年入选首批国家级一流本科课程,相应的慕课课程从 2017年开始一直在中国大学慕课网站上开放,选课总人数达几十万人次。课程的英文版也已在中国大学慕课网站上正式开放。 2021年录制了若干更新的授课内容。所有授课视频在书中相应位置均以二维码形式标出,读者在学习本书时,可以扫描相应的二维码,观看相应的视频。
本书以双色印刷的形式出版,在版式设计上也有很大改进,使得全书的可读性更强。
特别感谢团队的同事潘峰博士在相关课程建设、教材建设与教学团队建设中的出色贡献和所做的具体工作。感谢美国加利福尼亚大学 Merced分校的陈阳泉教授二十多年来的真诚合作及对诸多问题的有意义的探讨。我几十年来与同事、学生、同行甚至网友有益交流,其中有些内容已经形成了本书的重要素材,在此一并表示感谢。本书的出版还得到了美国 MathWorks公司图书计划的支持,在此表示谢意。
最后但同样重要的,我衷心感谢相濡以沫的妻子杨军教授,她数十年如一日的无私关怀是我坚持研究、教学与写作的巨大动力。感谢女儿薛杨在文稿写作、排版与视频转换中给出的建议和具体帮助。
薛定宇 2022年 6月
科学运算问题是科学与工程中的重要问题。在当前一般高校理工科课程设置中,高等数学、线性代数、概率论与数理统计等为必修课程,有些专业还有复变函数、积分变换、最优化、数值分析等选修课程。有了这些数学基础,很多专业课程相应的数学模型就可以建立起来,而这些数学问题的求解就成了不容回避的问题。
在总结多年实际教学经验的基础上,作者曾在首届 MathWorks亚洲研究与教育峰会(2014年 11月,东京)上提出了数学问题的“三步求解方法”,其第一步是用简单的语言理解要求解数学问题的物理意义,第二步是如何用计算机能接受的方式将数学问题输入计算机,第三步是调用恰当的函数将数学问题的解求出来。有了这样的思路,普通研究者可以直接利用计算机工具在短时间内解决已经学习过甚至根本没有学习过的数学分支的应用问题。
本书书名中的“高等应用数学”不等于“高等数学”,而是预期尽可能广地覆盖理工科数学分支,其对数学分支的涵盖范围是非常广泛的。书中涉及了大量的数学公式,作者没有期望读者能读懂这些公式,大概理解它们的物理意义就足够了,侧重点还是应该放在学习基于 MATLAB的实际求解方法。尽管较好理解数学公式可能对学习数学问题的求解方法有所帮助,但这不是必要的。
虽然数学问题的求解在以后的课程学习与科学研究中是不可避免的,那些自认为数学基础比较薄弱的读者也不必担心,因为本书介绍的方法是尽可能地避开烦琐的、深奥的数学,将数学问题及其求解过程用 MATLAB能够接受的形式全盘推给计算机去求解,充分发挥计算机的潜能去替你完成任务,最终收获问题的解。尽管这样的方式有时得不到一些数学家的接受与认可,但这对应用科学家与工程技术人员足矣。
比如,本书介绍了代数方程的求解方法。在实际应用中,数学家或其他科研工作者可能面对下面的代数方程组束手无策: .
. x 3y3 2z2 = 1/2
x2 3y z3 =2
. x3 2z 2y2 = 2/4
而你却完全可以利用本书介绍的方法将该方程推给计算机去求解,在几秒钟之内得出原方程组全部 27组根,将根代入原方程,误差可能达到 10.34级别。另外,对用户而言,如果使用工具,求解这样的方程组与求解鸡兔同笼方程一样简单。
再如,如果已知矩阵 A,数学家无法求出复合矩阵函数 ψ(A)= eA cos At或 Ak时,你可以轻而易举地借助计算机得出所需的矩阵函数与乘方的解析解。
可以想象一下,当数学家只能利用其巧妙的构思去判定 19931993的个位数是几的时候,你却能易如反掌地将其全部 6576位数字都列出来;当数学家在苦思冥想给定的矩阵方程 AX XD . XBXT C = 0到底有多少个根的时候,你却有能力利用本书的方法将其实数根与复数根一次性地全部求解出来;当数学家津津乐道地描述 “(a, b)区间内至少存在一个 ξ”的时候,你却能将满足条件的 ξ的所有可能值都精确地实实在在地找出来;当数学家在纠结到底用哪种技巧去求出某个函数的不定积分的时候,你却能借助计算机在几秒钟之内用直接方法求出该不定积分的解析解;当数学家因为想使用神经网络而苦苦阅读学习相关知识的时候,你却能通过几分钟基础概念的学习之后熟练地利用神经网络解决实际问题,你是不是应该建立起对求解实际应用数学问题能力的自信心呢?是不是会有龟兔赛跑中兔子的优越感呢?这样的例子不胜枚举,所以不要惧怕数学,因为如果系统地学习掌握了本书中介绍的方法和思路,你求解实际应用数学问题的能力将远远超过不会或不擅用计算机工具的一流数学家。
本书继承了以前版本的写作风格,不是按手册的方式,即 MATLAB能求解什么就介绍什么,而是按介绍数学理论与系统知识的需求,组织教学材料、求解方法与求解工具,使得读者有能力直接求解相关的数学问题。如果 MATLAB能求解某类问题,作者会直接建议使用现有函数去求解,如果没有现成函数时,作者会编写出通用的函数,可以同样直接地求解这类问题。本书比较典型的、独到的求解方法包括矩阵的任意非线性函数求解、矩阵任意乘方的求解、任意多解非线性矩阵方程的求解、有约束非线性规划问题的全局求解方法、分数阶微积分的高精度数值计算等,通过实际例子的介绍,同时演示了将求解思路变成代码的过程与技巧。
从数学问题解析运算的角度看,由于基于 Maple符号运算引擎的 MATLAB R2008a版本已经淡出了历史舞台,本书早期版本中很多内容已经不能正常使用,新版本提供的功能也有待系统地利用与介绍,所以需要一个新的版本。本书引入的新内容包括三维隐函数等图形绘制新方法、场论的解析运算、无穷级数的收敛性判定、曲线曲面积分解析运算的通用求解函数、数值积分曲线曲面的绘制、 Diophantine方程求解、矩阵任意乘方的计算、数值积分变换方法与应用、 Laurent级数展开、非线性矩阵方程的数值解法、非线性规划问题的全局搜索函数、常微分延迟微分方程的框图解法、 alpha稳定分布与 Lévy飞行、离群值检测、全新的分数阶微积分高精度计算方法、基于框图的复杂分数阶系统建模与求解通用方法等。本书在不显著增加页码的前提下最大限度地压缩了排版的空间浪费,融入了新的内容,并对使用的语句做出了更详尽的注释,使得读者能更好地理解涉及的代码,更有效地学习本书的内容。
本书的前几版在本科生、研究生实际教学中已经使用十余年,配备了较全面的交互性计算机辅助教学材料,相应的课程“现代科学运算—— MATLAB语言与应用”目前为辽宁省精品资源共享课程。读者可以观看该课程的全部授课视频,享用全套教学资源,也建议有相关想法的教师在本校开设相应的课程,使得更多的理工科学生受益。英文版教材 Scientific Computing with MATLAB(Second Edition)2016年由美国 CRC出版社出版,可以作为双语课程或全英文课程的材料,与此同时,本书全英文课程视频制作也在计划之中,预计将在本书正式出版时完成。感谢向日葵教育科技公司李婷女士在视频制作过程中提供的帮助。
书稿完成之际要感谢的人很多,感谢教学团队成员的共同努力,学生们在课程建设中所做的扎实的工作,诸多热心读者的建议,出版界朋友的辛勤工作,特别地感谢挚爱的家人一如既往的支持与鼓励。
薛定宇 2017年 6月
本书第二版出版于 2008年的 8月,MATLAB当时最新的版本是 MATLAB R2008a版,不过那之后一两个月内, MATLAB R2008b就推出来了,最大的变化就是符号运算引擎从 Maple变成了 MuPAD,这样,书中有些基于符号运算的内容,尤其是为符号变量类编写的重载函数在新版本下就全部失效了,当时一直建议采用补救与变通的方法。现在, MATLAB的新版本的使用已经成为主流,新推出的 MATLAB R2012b(MATLAB 8.0版)还出现了许多求解科学运算问题全新的方法和函数结构(如数值积分、延迟微分方程求解等),所以,亟待使用新的途径重新建立起相关问题的求解方法和机制,因此本书侧重于对符号运算方面的内容和科学运算求解的新方法等方面的更新。
很多理工科课程与科学研究都是建立在应用数学各个分支基础上的,所以科学运算问题的求解能力会从某些方面直接影响到科学研究的水平。本书根据理工科学生和学者的需求,全面介绍高等应用数学各个分支典型问题的求解。本书内容看似在介绍数学,但最终目的是期望读者在理解相关数学领域最基本概念的前提下,绕开纯数学和底层烦琐的推导过程,直接由计算机数学语言得出数学问题的解。所以学习本课程将使读者提高数学素养,掌握解决实际科学运算问题的方法,为下一步学习并实践其他课程打下一个较好的基础。
这里所说的“绕开”纯数学,其基本思想就是用 MATLAB语言能理解的方式将科学运算的问题描述出来,然后调用现有的函数或自编的 MATLAB函数,将问题的解直接求出来。例如,对传统意义下看起来难以求解的非线性微分方程问题,可以编写一段代码将微分方程描述出来,以后调用相应的求解函数将其数值解求出来,再用绘图语句将得出的解绘制出来。这样的求解方法和理工科的需求完全一致,将复杂、烦琐的求解中间过程全部推给计算机去求解,这样可以把研究者从繁重的体力工作中解放出来,将精力集中到更高层次的研究中去,取得更多的成果。
本书在新版中增加了很多内容,如体视化绘图方法、区间极限、分段函数、数值积分全新解法、任意矩阵的定义与运算、数值 Laplace变换与反变换、差分方程解析解方法、多解矩阵方程的数值求解、延迟微分方程求解方法、 Mittag–Leffler函数的数值求解、非零初值分数阶微分方程求解等,另外由于篇幅限制,舍弃了前版的一些内容,如分形问题的求解等。
本书部分新的内容融合了作者和教学团队的几位老师(尤其是东北大学潘峰博士、陈大力博士)在相关课程的教学实践与研究成果,分数阶非零初值微分方程求解部分也有博士生白鹭等人的贡献,在代码验证与课件开发等工作中,研究生郭晓静、王伟楠、刘禄等同学做了大量的工作,在此一并表示感谢。
薛定宇 2013年 5月
数学问题是科学研究中经常需要解决的问题。研究者通常对自己研究的问题用数学建模的方法建立起数学模型,然后通过求解数学模型的方法获得所研究问题的解。
本书有两个目标。其一是系统地介绍基于 MATLAB语言的应用数学问题求解方法,这里涉及的内容涵盖理工科学生本科或研究生期间所接触到的几乎所有数学分支,而深度与广度远远超过相关数学课程的内容。对于非数学专业的读者来说,通过系统地学习本书的方法和思路,求解应用数学问题的能力会有质的提升。本书另一个目标是作为实用数学问题求解手册供研究者参考。读者在实际研究工作中遇到数学问题的时候,完全可以套用本书的相关内容和语句直接求解,这无疑对读者会有巨大的帮助。
自本书第一版于 2004年出版以来,作者在教学研究中又有了很多新的想法,同时得到了很多读者的反馈信息,为本书出版新版增添了新的素材。本书第二版在写作风格和格局上沿用第一版成功的经验,仍然根据系统求解数学问题的需要,组织 MATLAB语言求解的材料,由浅入深地系统介绍数学问题的求解方法,侧重点仍然放在基于 MATLAB的数学问题求解上。除了 MATLAB语言版本上的更新外,本版进一步充实、完善了很多第一版的原有内容;另外添加了多重数值积分、差分方程递推求解、分形、线性矩阵不等式、多目标规划、动态规划、矩阵方程与矩阵微分方程求解、切换微分方程与随机微分方程求解、特殊函数、主成分分析、 Monte Carlo方法、径向基神经网络、粒子群优化等诸多新的主题,分数阶微积分学一节融入了作者许多新的研究成果,所以本版的内容更充实、更全面。
本书的英文版 Solving Applied Mathematical Problems with MATLAB将由 CRC出版社于 2008年出版,而本书第二版的内容略多于英文版的内容。本书配备的习题参考解答是配合英文版编写的,可以作为本书的习题参考。本书还配备了中、英文版的教学课件可供直接使用。
在本书新版写作过程中仍得到师长、朋友和学生的支持和建议,特别感谢东北大学徐心和教授、新加坡国立大学葛树志教授、首都师范大学赵春娜博士等。在写作过程中和同事潘峰博士、石海滨博士、陈大力博士、胡清河博士、庞哈利教授、张雪峰副教授、王斐博士等的有益讨论也为本版最终成型起了重大作用。另外,学生鄂大志、张玲敏、熊鲲、董雯彬、彭军、罗映等为本书的勘误、代码验证和辅助教学课件开发等起了重要作用,在此表示深深的感谢。
作者 2008年 7月
美国 The MathWorks公司推出的 MATLAB语言一直是国际科学界应用和影响极为广泛的三大计算机数学语言之一。从某种意义上讲,在纯数学以外的领域中, MATLAB语言有着其他两种计算机数学语言 Mathematica和 Maple无法比拟的优势和适用面。在很多领域, MATLAB语言是科学研究者首选的计算机数学语言。目前关于 MATLAB语言和应用的书籍在国际上数以千计,但从其覆盖面和应用水平来说,往往难以达到日益增长的 MATLAB语言使用者的要求。国内外出版的著作从涵盖面及深度与
.
广度上缺乏高层次、全面系统介绍高等应用数学问题各个分支的计算机求解的书籍一 。本书试图填补这个空白,在更高层次上系统介绍 MATLAB语言在高等应用数学各个分支中的应用,包含的应用数学分支为微积分、线性代数、积分变换和复变函数、非线性方程与最优化、常微分方程与偏微分方程、数据插值与函数逼近、概率论与数理统计以及新的非传统方法,如模糊逻辑与模糊推理、神经网络、遗传算法、小波分析、粗糙集及分数阶微积分学等。本书不同于现有的类似于 MATLAB手册的著作,不是 MATLAB有什么内容就介绍什么内容,而是根据系统求解数学问题的需要,组织 MATLAB语言求解的材料,由浅入深地介绍数学问题的求解方法。本书比作者所见识到的国内外任何一部基于 MATLAB语言的应用数学著作都要全面、系统。
由于工作性质,作者接触过众多非数学专业的本科生、研究生、博士生,感觉大多数学生缺乏对应用数学问题的较全面了解,他们对什么问题能用数学描述、什么样的数学问题能求解不清楚,以至于在学习与研究中走了很多弯路。作者坚信,通过阅读本书可以使读者的数学能力,尤其是数学问题求解能力上一个很大的台阶。即使读者在阅读本书时对有些数学公式理解得不太透彻,只要学习本书的 MATLAB求解方法,也能容易地求解类似的数学问题。本书的重要目标是让数学基础不深厚的读者同样能轻易地利用计算机解决较高深的应用数学问题。
本书是为东北大学自动化专业新课程 “MATLAB与数学运算”编写的教材,但内容完全脱离了自动化专业的背景,同样适用于其他理工科专业的本科生、研究生教学。本书的大部分内容在东北大学自动化专业本科生以及全校研究生选修课中讲授过,受到普遍欢迎。由于 MATLAB语言在很多理工科专业的后续课程中有很大作用,建议有条件的学校也开设相应的课程,使学生能认识和掌握该语言,提高应用数学问题求解的水平。为此,本书配有全套的、适用于计算机辅助教学的 CAI课件材料。
作者从 1988年开始系统地使用 MATLAB语言进行程序设计与科学研究,积累了丰富的第一手经验,也了解 MATLAB语言的最新动态。作者用 MATLAB语言编写的程序曾作为英国 Rapid Data软件公司的商品在国际范围内发行,新近编写的几个通用程序在 The MathWorks公司的网站上可以下载,其中反馈系统分析与设计程序 CtrlLAB长期高居控制类软件的榜首,已经用于国际上很多高校的实际教学。
.
一 由对 The MathWorks图书网站列出的全部相关书目及目录的分析得出的结论。
多年来,作者一直在试图以最实用的方式将 MATLAB语言介绍给国内的读者,并在清华大学出版社出版了四部有关 MATLAB语言及其应用方面的著作,受到了国内外广大中文读者的普遍欢迎。其中, 1996年出版的《控制系统计算机辅助设计 —— MATLAB语言与应用》被公认为国内关于 MATLAB语言方面书籍中出版最早、影响最广的著作,被国内期刊文章引用近千次。
本书合作者陈阳泉博士现在美国 Utah州立大学任教,任自组织与先进智能控制中心执行负责人、 IEEE学会高级会员,在先进智能控制、分数阶系统理论及设计、机器人导航与控制等领域均有很深的造诣和学术影响,2002年与本人合作在清华大学出版社出版的《基于 MATLAB/Simulink的系统仿真技术与应用》在中文读者中有很大影响,并被广为引用。
本书主要介绍目前最新的 MATLAB 7.0版,即 MATLAB Release 14,但相应的内容对 MATLAB及相关工具箱的版本依赖程度不高,所以这里介绍的算法函数绝大部分均可以在 MATLAB 6.x甚至更早期版本下正常运行。同时,考虑到在将来很长一段时间内两个版本可能并存,所以在很多地方也将介绍 MATLAB 6.x的解法。
本书从使用者的角度出发,并结合作者十数年的实际编程经验和丰富的教学经验,系统地介绍 MATLAB语言的编程技术及其在科学运算中的应用,书中融合了作者的许多编程思想和第一手材料,内容精心剪裁,相信仍然会受到读者的欢迎。
作者的一些同事、同行和朋友也先后给予作者许多建议和支持,包括东北大学信息学院的徐心和教授、东北大学信息学院院长王福利教授、北京交通大学机电学院院长朱衡君教授等,还有在互联网上交流的众多知名的和不知名的同行与朋友。本书部分内容由博士生张雪峰、潘峰编写,部分辅助程序与模型由硕士生陈大力编写,计算机辅助教学材料由硕士生刘莹莹开发,在此表示深深的谢意。
本书的出版得到了清华大学出版社欧振旭编辑细心的加工,得到清华大学出版社蔡鸿程总编的关怀,本书的出版还得到了美国 The MathWorks公司图书计划的支持,在此表示谢意,并特别感谢 Noami Fernandez女士、 Courtney Esposito先生为作者提供的各种帮助,感谢大连威尔思德科技发展有限公司王龙飞先生为教学网站 MATLAB大观园提供的各种帮助。
由于作者水平所限,书中的缺点和错误在所难免,欢迎读者批评指教。
谨以此书献给我的妻子杨军和女儿薛杨。在编写本书时花费了大量本该陪伴她们的业余时间,没有她们一如既往的鼓励、支持和理解,本书不可能顺利完成。
薛定宇 2004年 7月 6日于沈阳东北大学
|
|