MATLAB原理与应用(第7版)工程问题求解与科学计算

MATLAB原理与应用(第7版)工程问题求解与科学计算"

作者:[美]布莱恩D.哈恩(BrianD.Hahn)丹尼尔T.瓦伦丁(DanielT.Valentine)杨海陆席亮译
ISBN:9787302558231
定价:¥79
字数:千字
页数:
出版时间:2020.08.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

◆ 全书进行了全面更新,包括MATLAB R2018b中的许多新特性

◆ 用一章的篇幅介绍有用的工具箱

◆ 提供了大量工程应用示例

前言

前    言

撰写《MATLAB原理与应用(第7版)  工程问题求解与科学计算》主要是为了跟上MATLAB的升级进度(最新版本是9.5版R2018b)。与之前的版本一样,这一版也是将MATLAB作为解决问题的工具介绍给没有计算机编程经验的科学家、工程师,以及相关领域的学生。

为了与作者Brian D. Hahn在之前版本中的目标保持一致,《MATLAB原理与应用(第7版)  工程问题求解与科学计算》采用一种通俗的指南风格来实现“自学”的学习方法,读者将在使用MATLAB做实验的过程中掌握它的工作原理。《MATLAB原理与应用(第7版)  工程问题求解与科学计算》假设读者在解决技术问题时从未使用过该工具。

MATLAB是Matrix Laboratory的缩写,它是基于矩阵的概念实现的。由于读者可能对矩阵并不熟悉,我们将根据上下文的需要逐步介绍矩阵的概念和结构。《MATLAB原理与应用(第7版)  工程问题求解与科学计算》主要面向科学家和工程师,因此书中的示例(尤其是第Ⅱ部分)都需要一些大学一年级的数学知识。但是,这些示例都是独立的,读者可以选择性地阅读,并不会影响读者编程技能的提升。

可以通过两种不同的模式使用MATLAB。一种是在迫切需要得到即时的结果时,可以在Command Window中立即执行语句(或语句组);另一种是在不那么迫切的情况下,可以利用脚本文件的方式提供传统的编程方式。读者可以通过如下方法对两种模式善加利用:鼓励在前一种模式中使用剪切和粘贴的方式,以充分利用Windows操作系统中的交互环境;后者通过结构规划强调编程原则和算法开发。

虽然《MATLAB原理与应用(第7版)  工程问题求解与科学计算》的内容涵盖MATLAB的大部分基本(基础)特性,但它既不是一本完备的书籍,也不是一本系统的参考工具书,因为这和它通俗的风格不统一。例如,在开始介绍for和if结构时,和很多其他书籍不同,《MATLAB原理与应用(第7版)  工程问题求解与科学计算》并不总是使用它们的通用格式,而是在适当的地方自然而然地引入。即便如此,我们仍对for和if结构进行了透彻而全面的介绍。如果读者想了解,可以在附录中找到实用的语法和函数快速索引。

《MATLAB原理与应用(第7版)  工程问题求解与科学计算》应该和MATLAB软件结合使用,因此读者需要先安装MATLAB软件,完成书中练习,从而理解MATLAB是如何完成任务的。任何工具只能通过动手练习的方法来学习,计算工具尤其如此,因为它们只有在接收到的命令和相应的数据正确且精确时,才能输出正确答案。

目录

目    录

第I部分  基 础 知 识

第1章  引言   3

1.1  使用MATLAB   4

1.1.1  算术   5

1.1.2  变量   5

1.1.3  数学函数   6

1.1.4  函数和命令   6

1.1.5  向量   6

1.1.6  线性方程组   8

1.1.7  教程和演示   9

1.2  Desktop   9

1.2.1  使用Editor和运行脚本   10

1.2.2  帮助、发布和视图   12

1.2.3  活动脚本中的符号   14

1.2.4  APPS   16

1.2.5  附加特性   16

1.3  示例程序   18

1.3.1  剪切和粘贴   18

1.3.2  保存程序:脚本文件   19

1.3.3  程序实战   20

1.4  本章小结   21

1.5  本章练习   21

第2章  MATLAB基础   23

2.1  变量   23

2.2  工作空间   24

2.3  阵列:向量与矩阵   25

2.3.1  初始化向量:显式列表   25

2.3.2  初始化向量:冒号运算符   26

2.3.3  linspace和logspace函数   26

2.3.4  转置向量   27

2.3.5  下标   27

2.3.6  矩阵   27

2.3.7  捕获输出   28

2.3.8  结构规划   28

2.4  重力作用下的垂直运动   29

2.5  运算符、表达式和语句   30

2.5.1  数字   31

2.5.2  数据类型   31

2.5.3  算术运算符   31

2.5.4  运算符的优先级   32

2.5.5  冒号运算符   32

2.5.6  转置运算符   33

2.5.7  阵列的算术运算   33

2.5.8  表达式   34

2.5.9  语句   34

2.5.10  语句、命令和函数   35

2.5.11  公式向量化   35

2.6  输出   38

2.6.1  disp语句   38

2.6.2  format命令   38

2.6.3  比例因子   39

2.7  for循环   40

2.7.1  用牛顿法计算平方根   40

2.7.2  阶乘!   41

2.7.3  数列的极限   41

2.7.4  基本for结构   42

2.7.5  单行中的for语句   43

2.7.6  更加一般化的for语句   43

2.7.7  通过向量化避免使用for循环   43

2.8  判断   45

2.8.1  单行if语句   45

2.8.2  if-else结构   46

2.8.3  单行if-else语句   47

2.8.4  elseif   47

2.8.5  逻辑运算符   48

2.8.6  多个if与elseif的对比   49

2.8.7  嵌套if   50

2.8.8  是否将if向量化   50

2.8.9  switch语句   50

2.9  复数   51

2.10  本章小结   52

2.11  本章练习   53

第3章  程序设计与算法开发   59

3.1  程序设计流程   59

3.2  MATLAB函数编程   65

3.2.1  内联对象:谐振子   65

3.2.2  MATLAB函数:y=f(x)   66

3.3  本章小结   68

3.4  本章练习   68

第4章  MATLAB函数与数据导入导出工具   71

4.1  常用函数   71

4.2  导入和导出数据   75

4.2.1  load和save命令   76

4.2.2  导出文本(ASCII)数据   76

4.2.3  导入文本(ASCII)数据   76

4.2.4  导出二进制数据   76

4.2.5  导入二进制数据   77

4.3  本章练习   77

第5章  逻辑向量   79

5.1  示例   80

5.1.1  不连续图   80

5.1.2  避免除零   80

5.1.3  避免无穷   81

5.1.4  对随机数进行计数   82

5.1.5  掷骰子   82

5.2  逻辑运算符   83

5.2.1  运算符的优先级   84

5.2.2  危险   84

5.2.3  逻辑运算符和向量   84

5.3  将逻辑向量作为下标   85

5.4  逻辑函数   86

5.5  用逻辑向量代替elseif阶梯   87

5.6  本章小结   89

5.7  本章练习   89

第6章  矩阵和阵列   91

6.1  矩阵   91

6.1.1  具体示例   91

6.1.2  创建矩阵   92

6.1.3  下标   93

6.1.4  转置   93

6.1.5  冒号运算符   93

6.1.6  复制行和列   96

6.1.7  删除行和列   96

6.1.8  初等矩阵   97

6.1.9  特殊矩阵   97

6.1.10  对矩阵使用MATLAB函数   98

6.1.11  操纵矩阵   99

6.1.12  对矩阵进行阵列运算   99

6.1.13  矩阵和for循环   99

6.1.14  矩阵的可视化   100

6.1.15  将嵌套的for循环向量化:贷款偿还表格   100

6.1.16  多维阵列   102

6.2  矩阵运算   102

6.2.1  矩阵乘法   102

6.2.2  矩阵求幂运算   103

6.3  其他矩阵函数   104

6.4  种群增长:莱斯利矩阵   104

6.5  马尔可夫过程   106

6.6  线性方程   108

6.6.1  MATLAB中的解法   109

6.6.2  残量   109

6.6.3  超定方程组   109

6.6.4  欠定方程组   110

6.6.5  病态   110

6.6.6  矩阵除法   111

6.7  稀疏矩阵   112

6.8  本章小结   113

6.9  本章练习   113

第7章  函数M文件   115

7.1  示例:再看牛顿法   115

7.2  基本规则   116

7.2.1  子函数   120

7.2.2  私有函数   120

7.2.3  P-code文件   120

7.2.4  使用分析工具提高M文件的性能   120

7.3  函数句柄   120

7.4  命令/函数对偶性   122

7.5  函数名解析   122

7.6  调试M文件   122

7.6.1  调试脚本文件   122

7.6.2  调试函数   124

7.7  递归   124

7.8  本章小结   125

7.9  本章练习   125

第8章  循环   127

8.1  使用连续for语句的确定循环   127

8.1.1  二项式系数   127

8.1.2  更新过程   128

8.1.3  嵌套for语句   129

8.2  使用连续while语句的不确定循环   129

8.2.1  猜谜游戏   129

8.2.2  while语句   130

8.2.3  投资翻倍的时间   130

8.2.4  质数   131

8.2.5  抛射体轨迹   132

8.2.6  break和continue语句   133

8.2.7  菜单   134

8.3  本章小结   134

8.4  本章练习   135

第9章  MATLAB图形   139

9.1  基本二维图形   139

9.1.1  标签   140

9.1.2  在相同的坐标轴上绘制多个图形   140

9.1.3  线型、标记和颜色   141

9.1.4  坐标轴限制   141

9.1.5  在一幅图中绘制多个图形:

subplot   142

9.1.6  figure、clf和cla函数   143

9.1.7  图形输入   143

9.1.8  对数作图   143

9.1.9  极坐标作图   144

9.1.10  绘制快速变化的数学函数:fplot   145

9.1.11  属性编辑器   145

9.2  三维作图   145

9.2.1  plot3   145

9.2.2  使用comet3绘制三维动画   146

9.2.3  网面   146

9.2.4  等高线图   148

9.2.5  使用NaN剪切曲面   148

9.2.6  可视化向量场   149

9.2.7  矩阵的可视化   150

9.2.8  三维图形的旋转   150

9.3  句柄图形   151

9.3.1  获得句柄   151

9.3.2  图形对象的属性和修改方法   152

9.3.3  句柄向量   153

9.3.4  图形对象创建函数   154

9.3.5  指定父对象   154

9.3.6  定位图形   154

9.4  编辑绘图   155

9.4.1  绘图编辑模式   155

9.4.2  属性编辑器   155

9.5  动画   156

9.6  颜色等属性   158

9.6.1  色图   158

9.6.2  曲面绘图的颜色   160

9.6.3  Truecolor(真彩)   160

9.7  光照和镜头   161

9.8  保存、打印和导出图形   161

9.8.1  保存和打开图像文件   161

9.8.2  打印图形   161

9.8.3  导出图形   162

9.9  本章小结   162

9.10  本章练习   163

第10章  作为阵列的向量以及其他数据结构   167

10.1  更新过程   167

10.1.1  单位时间步长   167

10.1.2  非单位时间步长   169

10.1.3  使用函数   170

10.1.4  精确解   171

10.2  频率、柱状图和直方图   172

10.2.1  随机漫步   172

10.2.2  直方图   173

10.3  排序   173

10.3.1  冒泡排序   173

10.3.2  MATLAB中的sort函数   175

10.4  结构体   175

10.5  元胞阵列   177

10.5.1  将数据赋给元胞阵列   177

10.5.2  访问元胞阵列中的数据   178

10.5.3  使用元胞阵列   178

10.5.4  显示和可视化元胞阵列   179

10.6  类和对象   179

10.7  本章小结   179

第11章  错误和陷阱   181

11.1  语法错误   181

11.1.1  向量的大小不匹配   181

11.1.2  名称屏蔽   182

11.2  逻辑错误   182

11.3  舍入误差   182

11.4  本章小结   183

11.5  本章练习   183

第II部分  实践应用

第12章  动力系统   187

12.1  悬臂梁   188

12.2  电流   189

12.3  自由落体   191

12.4  摩擦力作用下的投射体问题   197

12.5  本章小结   200

12.6  本章练习   200

第13章  仿真   201

13.1  随机数的生成   201

13.2  旋转硬币   202

13.3  投掷骰子   202

13.4  细菌分裂   203

13.5  随机游走   203

13.6  交通流量   204

13.7  正态(高斯)随机数   206

13.8  总结   207

13.9  本章练习   207

第14章  数值方法入门   209

14.1  方程组   209

14.1.1  牛顿法   209

14.1.2  二分法   211

14.1.3  fzero函数   212

14.1.4  roots函数   212

14.2  积分   212

14.2.1  梯形法则   212

14.2.2  辛普森法则   213

14.2.3  quad函数   214

14.3  数值微分   214

14.4  一阶微分方程   215

14.4.1  欧拉方法   215

14.4.2  示例:细菌生长   216

14.4.3  另一种下标表示法   217

14.4.4  预估-校正法   218

14.5  线性常微分方程(LODE)   218

14.6  龙格-库塔法   219

14.6.1  单个微分方程   219

14.6.2  差分方程组:混沌   219

14.6.3  将额外参数传递给ODE求解程序   221

14.7  偏微分方程   222

14.8  复数变量和保角映像   224

14.9  其他数值方法   226

14.10  本章小结   227

14.11  本章练习   227

第15章  信号处理   229

15.1  谐波分析   230

15.2  快速傅里叶变换(FFT)   233

第16章  Simulink工具箱   237

16.1  弹簧-质块-阻尼器动力系统   241

16.2  弹跳球动力系统   243

16.3  范德波尔振子   244

16.4  杜芬振子   245

16.5  本章练习   246

第17章  Symbolic工具箱   249

17.1  代数   250

17.1.1  多项式   250

17.1.2  向量   252

17.1.3  矩阵   253

17.2  微积分   255

17.3  拉普拉斯变换和Z变换   257

17.4  广义函数*   258

17.5  微分方程   259

17.6  funtool、MuPAD和帮助文档的使用   260

17.6.1  funtool   260

17.6.2  MuPAD记事本和帮助文档   260

17.7  本章练习   262

附录A  语法:快速参考   263

附录B  运算符   267

附录C  命令与函数:快速参考   269

附录D  部分练习的答案   277

作者简介

编辑推荐

《MATLAB原理与应用(第7版) 工程问题求解与科学计算》是MATLAB初学者的理想教材,适用于使用MATLAB解决工程问题的课程。本书概述了MATLAB的功能,全面介绍了MATLAB软件的窗口和菜单,清晰直观地呈现了程序设计和算法开发,提供了科学和工程领域的许多常见示例。

本书便于读者自学,并在阐明MATLAB的基础知识和演示其应用方面达到了完美的平衡。

作者寄语

Brian D. Hahn曾是南非开普敦大学数学和应用数学系的教授。在他的职业生涯中,Brian撰写了十几本书,为初学者讲授编程语言。

Daniel T. Valentine是名誉教授,曾担任纽约波茨坦克拉克森大学机械和航空工程系的教授和系主任。他还是纽约NASA太空拨款联盟克拉克森太空拨款项目的副主任,该项目为本科生和研究生的研究提供支持。他的博士学位是美国天主教大学(CUA)的流体力学。他在美国罗格斯大学获得机械工程学士和硕士学位。 

电子资料

www.luweidong.cn

下一个