图书目录

目    录

第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