第1章 MATLAB概述 1
1.1 MATLAB简介 2
1.1.1 MATLAB的发展 2
1.1.2 MATLAB的优点 2
1.1.3 MATLAB的缺点 4
1.2 MATLAB的安装 4
1.3 MATLAB操作界面介绍 7
1.3.1命令窗口 8
1.3.2命令历史窗口 10
1.3.3工作空间窗口 10
1.3.4当前目录窗口 10
1.4 MATLAB帮助系统 11
1.4.1帮助窗口 11
1.4.2帮助命令 12
1.4.3 MATLAB远程帮助系统 15
1.5本章小结 16
第2章 MATLAB基础知识 17
2.1一般运算符及操作符 18
2.1.1运算符 18
2.1.2操作符 21
2.2数据格式显示 22
2.3关系运算符 24
2.4逻辑运算及逻辑函数 25
2.4.1逻辑运算 25
2.4.2逻辑函数 27
2.5字符串操作 36
2.5.1 MATLAB中的字符串符号 36
2.5.2一般通用字符串操作 38
2.5.3字符串比较操作 42
2.5.4字符串与数值间的相互转换 47
2.5.5进制间的转换 48
2.6数值数据类型 50
2.6.1整数 50
2.6.2浮点数 53
2.6.3整型浮点数间的操作函数 54
2.6.4复数 55
2.7函数和特殊函数简明介绍 57
2.8数组 58
2.8.1一维数组的创建 58
2.8.2多维数组的创建 60
2.8.3数组的运算 63
2.8.4常用的标准数组 65
2.8.5低维数组的寻址和搜索 66
2.8.6低维数组的处理函数 71
2.8.7高维数组的处理和运算 73
2.9单元数组和结构体 76
2.9.1单元数组的创建和操作 76
2.9.2单元数组函数 79
2.9.3结构体创建 81
2.9.4结构体函数 82
2.10本章小结 84
第3章 矩阵及其运算 85
3.1矩阵的表示 86
3.1.1数值矩阵的生成 86
3.1.2矩阵的标识 90
3.1.3矩阵的修改和抽取 91
3.1.4矩阵元素的数据变换 94
3.2矩阵运算 95
3.2.1矩阵与常数的四则运算 95
3.2.2矩阵的转置 96
3.2.3方阵的行列式 96
3.2.4矩阵的逆和伪逆 97
3.2.5矩阵和向量的范数 98
3.2.6矩阵的秩 99
3.2.7矩阵的迹 100
3.2.8矩阵的指数和对数运算 100
3.3矩阵分解 101
3.3.1 cholesky分解 101
3.3.2 LU分解 102
3.3.3 QR分解 104
3.3.4 schur分解 105
3.3.5奇异值分解 106
3.3.6特征值分解 107
3.3.7海森伯格形式的分解 109
3.4方程组求解 109
3.4.1线性方程组的求解 109
3.4.2非线性方程组的求解 115
3.4.3非齐次线性方程组的通解 116
3.5矩阵秩与线性相关性 117
3.5.1矩阵和向量组的秩及线性相关性 117
3.5.2求行阶梯矩阵及向量组的基 117
3.6稀疏矩阵 119
3.6.1稀疏矩阵的创建 119
3.6.2稀疏矩阵的应用 121
3.6.3稀疏矩阵与满矩阵的相互转换 123
3.7本章小结 128
第4章 符号及其运算 129
4.1符号变量的创建 130
4.1.1字符型数据变量的创建 130
4.1.2符号型数据变量的创建 130
4.1.3符号变量的基本操作 131
4.2符号表达式与符号方程创建 134
4.2.1符号表达式的创建 134
4.2.2符号方程的创建 135
4.2.3符号表达式的操作 136
4.3符号矩阵的创建 142
4.3.1用sym命令直接创建符号矩阵 142
4.3.2由数值矩阵转换为符号矩阵 142
4.3.3利用矩阵元素的通式创建符号矩阵 143
4.3.4符号矩阵及符号数组的运算 144
4.4符号微积分 149
4.4.1符号极限 149
4.4.2符号微分和求导 150
4.4.3符号积分 152
4.5符号积分变换 153
4.5.1 Fourier变换及其逆变换 153
4.5.2 Laplace变换及其逆变换 154
4.5.3 Z变换及其反变换 155
4.6符号代数方程求解 157
4.7符号微分方程求解 158
4.8图示化符号函数计算器 159
4.8.1单变量符号函数计算器 159
4.8.2泰勒级数逼近计算器 162
4.9本章小结 162
第5章 微分和积分 163
5.1极限、导数与微分 164
5.1.1极限 164
5.1.2导数与微分 164
5.2积分 168
5.2.1一元函数的积分 168
5.2.2二元及三元函数的数值积分 171
5.3化简、提取与替换代入 173
5.3.1化简 173
5.3.2提取与替换代入 178
5.4级数求和 181
5.4.1 symsum(s) 181
5.4.2 symsum(s,v) 181
5.4.3 symsum(s,v,a,b) 182
5.5泰勒、傅里叶级数展开 183
5.5.1一元函数泰勒展开 183
5.5.2多元函数的完全泰勒展开 185
5.5.3傅里叶级数展开 186
5.6多重积分 186
5.6.1二重积分 186
5.6.2三重积分 187
5.7本章小结 188
第6章 多元函数及常微分方程 189
6.1多元函数的极限、微分与极值 190
6.1.1多元函数的极限 190
6.1.2多元函数求导 191
6.1.3多元函数局部极值 192
6.1.4条件极值 193
6.1.5显式复合函数微分求导 196
6.2重积分 197
6.3曲线积分与曲面积分 198
6.3.1定义域是无向的积分 198
6.3.2对坐标的曲线积分和曲面积分 199
6.4常微分方程和偏微分方程的求解 200
6.4.1常微分方程的数值求解 200
6.4.2偏微分方程的数值求解 204
6.5本章小结 208
第7章 概率与统计 209
7.1概率密度函数 210
7.1.1连续分布密度函数 210
7.1.2离散分布密度函数 213
7.1.3抽样分布密度函数 217
7.2概率分布 220
7.2.1随机变量的累加分布函数 220
7.2.2随机变量的逆累加分布函数 222
7.2.3随机数的产生 223
7.2.4参数估计 225
7.3样本描述 229
7.3.1描述集中趋势的统计量 229
7.3.2描述离中趋势的统计量 231
7.3.3自助统计量 233
7.3.4中心矩 235
7.3.5相关系数 235
7.3.6协方差矩阵 236
7.4假设检验 236
7.4.1单个样本的t检测 236
7.4.2两个样本的t检测 237
7.4.3 z检验 239
7.5多元统计分析 239
7.5.1判别分析 240
7.5.2聚类分析 241
7.5.3因素分析 247
7.5.4多元方差分析 249
7.6回归分析 250
7.6.1一元回归分析 250
7.6.2多元回归分析 252
7.7本章小结 258
第8章 拟合与插值 259
8.1数据预处理 260
8.1.1输入数据集合 260
8.1.2数据的查看 263
8.1.3数据的预处理 263
8.2曲线拟合 266
8.2.1有关函数介绍 266
8.2.2曲线的参数拟合 268
8.2.3非参数拟合 270
8.2.4基本拟合界面 273
8.2.5多项式曲线拟合 278
8.3数值插值 278
8.3.1一维数值插值 278
8.3.2二维数值插值 280
8.3.3三维数值插值 283
8.3.4样条插值 284
8.4本章小结 286
第9章 优化问题 287
9.1优化工具箱 288
9.1.1优化工具箱的简介 288
9.1.2优化工具箱中的函数 288
9.1.3 foptions函数 289
9.2无约束最优化问题 289
9.2.1单变量最优化 289
9.2.2无约束非线性规划问题 292
9.3有约束最优化问题 298
9.3.1线性规划问题 298
9.3.2有约束非线性最优化问题 299
9.4二次规划 301
9.5多目标规划 302
9.6最小二乘最优化问题 304
9.6.1非线性数据(曲线)拟合 305
9.6.2非负线性最小二乘问题 306
9.6.3有约束线性最小二乘问题 306
9.6.4非线性最小二乘问题 308
9.7非线性方程(组)求解 309
9.7.1非线性方程的解 309
9.7.2非线性方程组的解 309
9.8本章小结 312
第10章 图形绘制 313
10.1基本绘图命令 314
10.1.1图形窗口简介 314
10.1.2基本绘图操作 317
10.1.3图形注释 319
10.1.4特殊函数 321
10.2二维绘图 325
10.2.1二维绘图命令 325
10.2.2交互式绘图操作 327
10.3三维绘图 328
10.3.1三维绘图命令 329
10.3.2三维绘图改进命令 331
10.3.3三维视图的可视效果控制 333
10.3.4三维图形的光照控制 334
10.3.5柱面和球面的表达 336
10.4本章小结 336
第11章 高级图像处理 337
11.1图形对象 338
11.1.1通用函数 338
11.1.2根对象 341
11.1.3轴对象 341
11.1.4用户控制对象 342
11.1.5用户菜单对象 344
11.2图形的高级控制 348
11.2.1视点控制和图像的旋转 348
11.2.2颜色的使用 350
11.2.3光照控制 356
11.3本章小结 358
第12章 MATLAB初级编程基础 359
12.1 M文件和P文件 360
12.1.1 M文件函数文件 360
12.1.2 M文件脚本文件 361
12.1.3 M文件规则与属性 362
12.1.4 P文件及操作 363
12.2 M文件编辑器 363
12.2.1运行M文件编辑器 363
12.2.2设置M文件编辑器的属性 364
12.3 MATLAB编程的构件 365
12.3.1变量 365
12.3.2变量的检测、传递 366
12.3.3运算关系与运算符号 367
12.3.4关键字 372
12.3.5指令行 372
12.3.6常见函数 372
12.4数据流结构 373
12.4.1顺序结构 373
12.4.2 if和switch选择结构 374
12.4.3 for和while循环结构 377
12.4.4 try-catch容错结构 379
12.4.5其他数据流结构 380
12.5控制命令 381
12.5.1 continue和break命令 381
12.5.2 return和pause命令 382
12.5.3 input和keyboard命令 384
12.5.4 error和warning命令 385
12.6本章小结 386
第13章 MATLAB高级编程 387
13.1 MATLAB函数 388
13.1.1主函数 388
13.1.2子函数 388
13.1.3嵌套函数 389
13.2字符串操作 390
13.2.1 eval函数 390
13.2.2 feval函数 392
13.2.3 inline内联函数 393
13.3变量传递与交换 395
13.3.1输入输出变量检测命令 395
13.3.2“变长度”输入输出变量 396
13.3.3全局变量、局部变量和持久变量 397
13.3.4跨空间计算与赋值 399
13.4 M文件的调试和剖析 401
13.4.1直接调试法 401
13.4.2工具调试法 402
13.4.2 Profiler分析工具 407
13.4.3应用实例 408
13.5本章小结 411
第14章 MATLAB句柄图形系统 413
14.1句柄图形基础 414
14.1.1图形对象概述 414
14.1.2图形对象句柄 415
14.1.3图形对象属性 417
14.2图形对象的创建 420
14.2.1创建图形窗口对象 420
14.2.2创建坐标轴对象 423
14.2.3创建曲线对象 424
14.2.4创建文字对象 425
14.2.5创建曲面对象 426
14.2.6核心图形对象 427
14.3句柄图形对象的基本操作 430
14.3.1设置查询图形对象属性 430
14.3.2设置对象的默认属性操作 431
14.3.3高层绘图对象操作 434
14.4本章小结 436
第15章 图形用户界面(GUI)设计 437
15.1图形用户界面(GUI)设计过程 438
15.1.1设计的一般步骤及原则 438
15.1.2 GUI设计的基本方式 438
15.2使用GUIDE创建GUI 440
15.2.1 GUIDE概述 440
15.2.2启动GUIDE 440
15.2.3 GUI的设计窗口简介 441
15.2.4使用GUIDE创建GUI步骤 447
15.2.5使用GUIDE创建GUI的实例 447
15.3 M文件创建GU 456
15.4本章小结 460
第16章 GUI高级图形设计 461
16.1 GUIDE常用工具 462
16.1.1排列工具 462
16.1.2对象属性检查器 462
16.1.3图形窗口的属性 464
16.1.4图形对象属性 465
16.2菜单和对话框 466
16.2.1图形对象句柄函数 466
16.2.2菜单 467
16.2.3对话框 469
16.2.4 GUI组态 471
16.2.5 GUI界面设计 473
16.3编程设计GUI 474
16.3.1 M文件及GUI数据管理 474
16.3.2回调函数的使用方法 476
16.3.3图形窗口的行为控制 477
16.4图形用户界面设计实例 478
16.4.1图形界面的实现 478
16.4.2行为控制的实现 479
16.5本章小结 486
第17章 GUI用户界面 487
17.1用户控件的概述 488
17.1.1用户控件种类 488
17.1.2用户控件属性 492
17.1.3回调函数 496
17.2综合应用实例 497
17.2.1双位按键、无线按键、控件区域框实例 497
17.2.2静态文本框、滑动键、检录框实例 499
17.2.3可编辑文本框、弹出框、列表框、按键实例 501
17.2.4 M基础文件 502
17.2.5编写界面程序 507
17.2.6 GUI程序设计 512
17.2.7回调子函数 513
17.2.8设计实例 514
17.3本章小结 518
第18章 Simulink基础概述 519
18.1 Simulink的基础操作 520
18.1.1 Simulink概述 520
18.1.2 Simulink安装步骤 520
18.1.3 Simulink启动方式 521
18.1.4模型窗口工具栏 522
18.2 Simulink仿真系统步骤 526
18.2.1启动添加Simulink模块库 526
18.2.2建立模型设置模块属性 527
18.2.3模块连接 528
18.2.4运行系统输出结果 528
18.3 Simulink的模块库 528
18.3.1 Simulink的公共模块库 529
18.3.2 Simulink的专业模块库 536
18.4 Simulink模块的基本操作 541
18.4.1 Simulink模型的工作原理 541
18.4.2模块的选定复制 542
18.4.3模块大小改变与旋转 543
18.4.4模块颜色的改变与名的改变 544
18.4.5模块参数设置 546
18.4.6连线分支与连线改变 547
18.4.7信号组合 549
18.5模型注释 549
18.6设置Simulink仿真系统界面 550
18.6.1模块框图属性编辑 550
18.6.2信号标签与标签传递 552
18.7仿真运行过程 554
18.7.1运行仿真 554
18.7.2仿真参数设置 554
18.7.3示波器的使用 559
18.8本章小结 560
第19章 Simulink建模与仿真 561
19.1 Simulink连续系统建模 562
19.1.1线性系统建模 562
19.1.2非线性系统建模 568
19.2子系统 569
19.2.1通用子系统生成的常见方法 569
19.2.2子系统的基本操作 571
19.3子系统的封装技术 572
19.3.1子系统封装的创建方法 572
19.3.2设置封装编辑器的图标编辑对话框 575
19.3.3设置封装编辑器的参数初始化对话框 577
19.3.4设置封装编辑器的文档编辑对话框 579
19.4条件执行子系统 579
19.4.1条件执行子系统概述 579
19.4.2条件执行子系统的建立 580
19.5使能子系统 581
19.5.1使能子系统的参数设置 581
19.5.2使能子系统的应用实例 582
19.6触发子系统 584
19.6.1触发子系统的种类 584
19.6.2触发子系统的应用实例 584
19.7原子子系统 587
19.7.1原子子系统介绍 587
19.7.2原子子系统的创立 588
19.8其他子系统 589
19.9本章小结 590
第20章 S函数和仿真系统建模 591
20.1 S函数概述 592
20.1.1 S函数基础概念 592
20.1.2 S函数的使用步骤 592
20.1.3 S函数相关概念 594
20.2编写S文件 595
20.2.1 S函数工作流程 595
20.2.2 S函数模板的使用 596
20.2.3 S函数程序代码 597
20.3编写CMEXS函数 607
20.3.1 MEX文件 607
20.3.2 Simstruct数据结构 607
20.3.3工作向量(Work Vector) 608
20.3.4 C MEX S函数流程 609
20.3.5 C MEX S函数模板 609
20.3.6 S函数包装 617
20.4本章小结 618
第21章 文件I/O 619
21.1低级文件I/O介绍 620
21.2文件打开和关闭 620
21.2.1打开文件 620
21.2.2关闭文件 622
21.3数据的读写 623
21.3.1读取TXT文件 623
21.3.2写入二进制文件 633
21.4文件的定位和文件的状态 635
21.5高级文件I/O介绍 639
21.5.1 Mat文件操作 639
21.5.2图像、声音、影片格式文件的操作 643
21.6本章小结 644
第22章 MATLAB编译器 645
22.1编译器的概述 646
22.1.1编译器的功能 646
22.1.2编译器的局限性 646
22.1.3脚本文件与函数文件的转换 647
22.2编译器的安装和配置 649
22.2.1安装MATLAB编译器 649
22.2.2设置MATLAB编译器 649
22.2.3安装MCR 652
22.3 MATLAB编译器编译过程 656
22.4 mcc编译命令 657
22.4.1编译命令的格式和选项 657
22.4.2处理脚本文件 659
22.4.3用mcc命令编译M文件 661
22.4.4编译文件的性能优化 662
22.5创建独立外部应用程序 663
22.5.1独立外部程序创建过程说明 663
22.5.2编译M文件 664
22.5.3编译包含绘图命令的M文件 665
22.6本章小结 666
第23章 应用程序接口 667
23.1 C语言MEX文件 668
23.1.1 MEX文件的结构 670
23.1.2创建C语言的MEX文件 672
23.2 MEX文件 673
23.2.1创建C语言的MAT文件 674
23.2.2创建FORTRAN语言的MAT文件 676
23.3 MATLAB引擎技术 678
23.3.1引擎技术概述 679
23.3.2计算引擎应用程序工作流程 679
23.3.3 VC调用MATLAB引擎 680
23.4 Java语言接口 684
23.4.1 MATLAB中的Java接口 685
23.4.2 Java接口程序应用 691
23.5本章小结 696
第24章 MATLAB混合编程技术 697
24.1 MATLAB混合编程概述 698
24.2 COM生成器 698
24.2.1创建nnToolKit的COM组件 698
24.2.2安装nnToolKit组件 701
24.2.3 VB调用nnToolKit神经网络工具包实现混合编程 702
24.2.4 CB调用nnToolKit神经网络工具包实现混合编程 706
24.2.5 VC调用nnToolKit神经网络工具包实现混合编程 708
24.3 Excel生成器 714
24.3.1创建nnxToolKit的Excel插件 714
24.3.2安装nnxToolKit组件 715
24.3.3 nnxToolKit组件集成到VBA 715
24.3.4创建图形用户界面 718
24.3.5保存和测试插件 723
24.3.6打包应用程序 724
24.4本章小结 724
第25章 MATLAB工具箱 725
25.1 MATLAB工具箱概述 726
25.1.1工具箱类型 726
25.1.2 MATLAB常用工具箱介绍 728
25.1.3 工具箱和工具箱函数的查询办法 740
25.1.4工具箱的扩充 745
25.1.5工具箱的添加 746
25.2 MATLAB主工具箱 748
25.3本章小结 749
第26章 信号工具箱 750
26.1信号、系统和信号处理的基本概念 751
26.1.1信号 751
26.1.2系统 751
26.1.3信号处理 751
26.2基本信号的表示及可视化 751
26.2.1正弦波 751
26.2.2方波 752
26.2.3锯齿波和三角波 753
26.2.4指数信号 754
26.2.5阶跃信号 755
26.2.6单位脉冲信号 756
26.3连续信号的时域运算与时域变换 757
26.3.1加(减)、乘运算 757
26.3.2信号的翻褶、位移、尺度变换 758
26.3.3卷积运算 759
26.4线性系统的时域分析 760
26.4.1脉冲响应 761
26.4.2阶跃响应 762
26.4.3对任意输入的响应 763
26.5连续时间信号的频域分析 764
26.6连续系统的复频域分析 765
26.6.1系统函数定义 765
26.6.2系统零、极点分布与系统稳定性关系 766
26.7信号采样与重构 767
26.7.1信号的采样 767
26.7.2信号的重构 768
26.8本章小结 769
第27章 图像处理工具箱 770
27.1图像处理工具箱概述 771
27.1.1图像处理工具函数 772
27.1.2 MATLAB可操作的图像文件 776
27.1.3图像和图像数据 777
27.1.4图像处理工具箱所支持的图像类型 777
27.1.5图像文件的读写和查询 778
27.1.6 MATLAB图像类型转换 779
27.2图像处理 782
27.2.1图像的灰度变换与直方图 782
27.2.2图像的增强滤波 785
27.2.3图像的空间变换 787
27.2.4图像边缘检测与分割 792