MATLAB 7.0从入门到精通.pdf

MATLAB 7.0从入门到精通.pdf
 

书籍描述

编辑推荐
《MATLAB 7.0从入门到精通(修订版)》:
学MATLAB,读这本书吧……
《MATLAB 7.0从入门到精通(修订版)》对MATLAB 7.0进行了比较全面的介绍,同时紧密结合典型的应用专题,做到学以致用《MATLAB 7.0从入门到精通(修订版)》叙述详细,又有丰富的例程,适合学习或使用MATLAB的读者作为参考用书为读者查阅方便,书中附录部分列出了MATLAB的常用命令和函数,Simulink的库模块和应用程序接口函数库
《MATLAB 7.0从入门到精通(修订版)》详细讲解以下内容:
MATLAB 7.0的目录结构
MATLAB 7.0的工作环境
MATLAB 7.0的通用命令
MATLAB基础知识
数学运算
MATLAB 7.0基本编程
数据可视化
数据分析
Simulink仿真环境
符号计算功能
文件I/O
信号处理工具箱
图像处理工具箱
高级图形设计
MATLAB 7.0与Word、Excel
的混合使用
编译工具箱
应用程序接口

目录
第1章 MATLAB概述 1
1.1 MATLAB 7.0简介 2
1.2 MATLAB 7.0的安装、退出与卸载 3
1.3 MATLAB 7.0的目录结构 8
1.4 MATLAB 7.0的工作环境 9
1.5 MATLAB 7.0的通用命令 16
1.6 使用MATLAB 7.0帮助系统 19
1.7 初识MATLAB 22

第2章 MATLAB基础知识 24
2.1 数据类型 24
2.1.1 数值类型 24
2.1.2 逻辑类型 26
2.1.3 字符和字符串 26
2.1.4 函数句柄 26
2.1.5 结构体类型 27
2.1.6 单元数组类型 30
2.2 基本矩阵操作 32
2.2.1 矩阵的构造 33
2.2.2 矩阵大小的改变 35
2.2.3 矩阵下标引用 37
2.2.4 矩阵信息的获取 39
2.2.5 矩阵结构的改变 41
2.2.6 稀疏矩阵 42
2.3 运算符和特殊符号 46
2.3.1 算数运算符 46
2.3.2 关系运算符 48
2.3.3 逻辑运算符 49
2.3.4 运算优先级 50
2.4 字符串处理函数 51
2.4.1 字符串的构造 51
2.4.2 字符串比较函数 53
2.4.3 字符串查找和替换函数 54
2.4.4 字符串——数值转换 55

第3章 数学运算 57
3.1 矩阵运算 57
3.1.1 矩阵分析 57
3.1.2 线性方程组 63
3.1.3 矩阵分解 67
3.1.4 矩阵的特征值和特征向量 74
3.1.5 非线性矩阵运算 75
3.2 矩阵元素的数学函数 79
3.2.1 三角函数 79
3.2.2 指数和对数函数 81
3.2.3 复数函数 81
3.2.4 截断和求余函数 83
3.3 特殊数学函数 84
3.3.1 特殊函数 84
3.3.2 数论函数 90
3.3.3 坐标变换函数 91

第4章 MATLAB 7.0基本编程 92
4.1 脚本和函数 92
4.1.1 函数 92
4.1.2 脚本 93
4.1.3 子函数与私有目录 95
4.1.4 P码文件 95
4.2 MATLAB中的变量和语句 96
4.2.1 变量类型 96
4.2.2 M文件的流控制语句 97
4.3 程序的调试(Debug) 104
4.3.1 直接调试法 104
4.3.2 工具调试法 105
4.4 函数的设计和实现 115
4.4.1 建立数学模型 115
4.4.2 编写代码 116
4.4.3 运行程序 122

第5章 数据可视化 128
5.1 二维绘图 128
5.1.1 plot命令 128
5.1.2 fplot命令 131
5.1.3 ezplot命令 133
5.2 三维绘图 134
5.2.1 plot3命令 134
5.2.2 mesh命令 135
5.2.3 surf命令 136
5.2.4 基本三维绘图命令的改进命令 137
5.3 特殊图形 139
5.3.1 二维特殊图形函数 139
5.3.2 特殊的三维图形函数 145
5.3.3 特殊坐标轴的图形函数 147
5.3.4 四维表现图 152
5.4 图形处理 153
5.4.1 图形标注 153
5.4.2 坐标轴的控制 158
5.4.3 图形数据取点 161
5.4.4 子图和图形保持 162
5.4.5 色彩控制 164
5.4.6 视角与光照 168
5.4.7 图形的打印和输出 175
5.5 图形窗口 175
5.5.1 图形窗口的创建与控制 175
5.5.2 图形窗口的菜单操作 176
5.5.3 图形窗口的工具栏 184

第6章 数据分析 186
6.1 多项式函数 186
6.1.1 多项式表示法 186
6.1.2 多项式求值 190
6.1.3 多项式乘法和多项式除法 191
6.1.4 多项式的导数和微分 192
6.1.5 多项式的根和由根创建多项式 194
6.1.6 多项式部分分式展开 195
6.1.7 多项式曲线拟合 196
6.1.8 曲线拟合图形用户接口 197
6.2 插值 199
6.2.1 一维插值 199
6.2.2 二维插值 203
6.3 数据分析和傅立叶变换 206
6.3.1 基本数据分析函数 206
6.3.2 协方差和相关系数矩阵 211
6.3.3 有限差分和梯度 213
6.3.4 信号滤波和卷积 214
6.3.5 傅立叶变换 218
6.4 功能函数 223
6.4.1 函数的表示 223
6.4.2 函数画图 224
6.4.3 函数最小值和零点 225
6.4.4 数值积分 230
6.4.5 在功能函数中使用含参函数 233
6.5 微分方程组数值解 235
6.5.1 常微分方程组的初值问题 235
6.5.2 延迟微分方程组数值解 242
6.5.3 常微分方程组的边界问题 244

第7章 Simulink仿真环境 248
7.1 Simulink概述 248
7.1.1 Simulink的概念 250
7.1.2 Simulink的工作环境 250
7.1.3 Simulink的工作原理 255
7.1.4 Simulink模型的特点 256
7.1.5 Simulink里的数据类型 257
7.1.6 Simulink里的模块和模块库 262
7.2 模型的创建 267
7.2.1 Simulink模块的基本操作 267
7.2.2 创建模型的基本步骤 271
7.2.3 模型文件格式 272
7.3 子系统及其封装 273
7.3.1 创建子系统 273
7.3.2 封装子系统 275
7.3.3 定义自己的模块库 278
7.4 过零检测 279
7.5 代数环 280
7.6 回调函数 282
7.7 运行仿真 284
7.7.1 使用窗口运行仿真 284
7.7.2 仿真参数的设置 285
7.7.3 使用MATLAB命令运行仿真 289
7.7.4 改善仿真性能及精度 290
7.8 仿真结果分析 291
7.8.1 观看输出结果 291
7.8.2 线性化 292
7.8.3 平衡点的分析 293
7.9 模型的调试 294
7.9.1 Simulink调试器 294
7.9.2 命令行调试 296
7.9.3 设置断点 296
7.9.4 显示仿真的有关信息 297
7.9.5 显示模型的信息 299
7.10 S-函数 299
7.10.1 什么是S-函数 300
7.10.2 为何要用S-函数 300
7.10.3 S-函数如何工作 300
7.10.4 怎样书写S-函数 302
7.10.5 S-函数应用示例 304
7.11 综合实例——PLL中的非线性电荷泵和滤波器 307

第8章 MATLAB 7.0符号计算功能 313
8.1 符号运算入门 313
8.1.1 求解一元二次方程 的根 313
8.1.2 求导数 314
8.1.3 计算定积分 314
8.1.4 求解一阶微分方程 315
8.2 符号对象的创建和使用 315
8.2.1 创建符号对象和表达式 315
8.2.2 符号对象的基本运算 318
8.3 任意精度数学计算 319
8.4 符号表达式的化简和替换 321
8.4.1 符号表达式的化简 321
8.4.2 符号表达式的替换 325
8.5 符号矩阵的计算 328
8.5.1 基本代数运算 328
8.5.2 线性代数运算 328
8.5.3 特征值分解 330
8.5.4 约当标准型 331
8.5.5 奇异值分解 331
8.6 符号微积分 332
8.6.1 符号表达式的微分运算 333
8.6.2 符号表达式的极限 334
8.6.3 符号表达式的积分 335
8.6.4 级数的求和 336
8.6.5 泰勒级数 336
8.7 符号积分变换 337
8.7.1 Fourier变换 338
8.7.2 Laplace变换 338
8.7.3 Z变换 339
8.8 符号方程求解 341
8.8.1 代数方程的求解 341
8.8.2 微分方程的求解 342
8.9 可视化数学分析界面 343
8.9.1 图示化符号函数计算器 343
8.9.2 泰勒级数逼近分析器 345
8.10 Maple接口 345
8.10.1 利用sym函数调用Maple函数 345
8.10.2 利用maple函数调用Maple函数 346

第9章 文件I/O 347
9.1 打开和关闭文件 347
9.1.1 打开文件 347
9.1.2 关闭文件 348
9.2 读取二进制文件 349
9.3 写入二进制文件 351
9.4 读取文本文件 351
9.5 写入文本文件 354
9.6 文件内的位置控制 355

第10章 信号处理工具箱 358
10.1 数字信号处理基本理论 358
10.1.1 离散信号与系统 358
10.1.2 Z变换 360
10.1.3 离散傅立叶变换 361
10.1.4 数字滤波器结构 363
10.2 MATLAB 7.0的信号处理工具箱函数 368
10.2.1 波形产生(Waveform Generation) 368
10.2.2 滤波器分析(Filter Analysis) 368
10.2.3 滤波器实现(Filter Implementation) 369
10.2.4 线性系统变换(Linear System Transformations) 369
10.2.5 FIR滤波器设计(FIR Digital Filter Design) 370
10.2.6 IIR滤波器设计(IIR Digital Filter Design) 370
10.2.7 IIR滤波器阶的选择(IIR Filter Order Estimation) 370
10.2.8 变换(Transforms) 371
10.2.9 统计信号处理和谱分析(Statistical Signal Processing and Spectral Analysis) 371
10.2.10 窗函数(Windows) 372
10.2.11 参数化建模(Parametric Modeling) 372
10.2.12 特殊操作(Specialized Operations) 373
10.2.13 模拟低通滤波器原型(Analog Lowpass Filter Prototypes) 373
10.2.14 模拟滤波器设计(Analog Filter Design) 373
10.2.15 模拟滤波器转换(Analog Filter Transformation) 374
10.2.16 滤波器离散化(Filter Discretization) 374
10.2.17 对数倒谱分析(Cepstral Analysis) 374
10.2.18 线性预测(Linear Prediction) 374
10.2.19 多速信号处理(Multirate Signal Processing) 375
10.2.20 图形用户接口(Graphical User Interfaces) 375
10.3 基于MATLAB的信号处理系统分析与设计 375
10.3.1 离散信号与系统的MATLAB实现 375
10.3.2 离散傅立叶变换的MATLAB实现 378
10.3.3 Z变换的MATLAB实现 380
10.3.4 FIR滤波器的MATLAB实现 383
10.3.5 IIR滤波器的MATLAB实现 386

第11章 图像处理工具箱 391
11.1 图像处理工具箱介绍 391
11.1.1 常用图像格式 391
11.1.2 MATLAB 7.0图像类型 393
11.1.3 MATLAB 7.0图像类型转换 396
11.2 图像的显示 398
11.2.1 标准图像显示技术 398
11.2.2 特殊图像显示技术 400
11.3 图像的几何运算 403
11.3.1 图像插值 403
11.3.2 图像大小调整 404
11.3.3 图像旋转 405
11.3.4 图像剪裁 406
11.4 图像的变换技术 407
11.4.1 数字图像的二维傅立叶变换 408
11.4.2 数字图像的离散余弦变换 412
11.4.3 其他变换技术 417
11.5 图像分析 418
11.5.1 像素值及其统计 419
11.5.2 图像分析 422
11.5.3 图像调整 425
11.5.4 图像平滑 428
11.6 特殊区域处理 431
11.6.1 区域的指定 431
11.6.2 特定区域滤波 432
11.6.3 特定区域填充 433

第12章 高级图形设计 435
12.1 句柄图形 435
12.1.1 图形对象、图像句柄和句柄图形树结构 435
12.1.2 图形对象种类 436
12.1.3 图形对象属性概念 438
12.2 图形对象的操作 439
12.2.1 创建图形对象 439
12.2.2 图形对象属性设置 441
12.2.3 属性值查询 442
12.2.4 设置用户属性默认值 444
12.3 句柄使用方法 448
12.3.1 访问对象句柄 448
12.3.2 使用句柄操作图形对象 450
12.3.3 控制图形输出 452
12.3.4 在M文件中保存句柄 456
12.4 GUI设计向导 458
12.4.1 图形用户界面概述 458
12.4.2 启动GUIDE 459
12.4.3 GUIDE提供的用户控件 460
12.4.4 界面设计工具集 461
12.4.5 GUI组态 467
12.4.6 GUI界面设计 470
12.5 编程设计GUI 472
12.5.1 M文件以及GUI数据管理 472
12.5.2 回调函数的使用方法 474
12.5.3 图形窗口的行为控制 476
12.6 图形用户界面设计实例 477
12.6.1 图形界面的实现 477
12.6.2 行为控制的实现 478

第13章 MATLAB 7.0与Word、Excel的混合使用 487
13.1 Notebook的安装和使用环境 487
13.2 一个Notebook实例 488
13.3 Notebook使用的几个问题 490
13.4 Excel link的安装和使用环境 491
13.4.1 Excel link的安装 491
13.4.2 设置Excel link的启动方式 493
13.4.3 终止Excel link的运行 494
13.5 一个Excel link实例 495
13.5.1 数据表执行方式 495
13.5.2 宏命令执行模式(Macro Version) 496
13.6 Excel link使用的几个问题 498
13.6.1 关于语法 499
13.6.2 关于工作表 499

第14章 编译工具箱 500
14.1 编译器概述 500
14.2 编译器的安装和配置 500
14.2.1 配置MATLAB 7.0编译器的前提准备 500
14.2.2 对编译器进行配置 501
14.3 MATLAB 7.0编译器的使用 503
14.3.1 编译过程 503
14.3.2 MCR的安装 503
14.3.3 编译指令mcc 504
14.3.4 创建独立的应用程序 505

第15章 应用程序接口 511
15.1 创建C语言MEX文件 511
15.1.1 MEX文件简介 511
15.1.2 编写C MEX文件 512
15.2 创建Fortran语言MEX文件 514
15.2.1 Fortran语言MEX文件简介 514
15.2.2 Fortran MEX文件示例 515
15.3 MAT文件应用 516
15.4 MATLAB引擎技术的应用 519
15.5 MATLAB的Java接口 522
15.5.1 Java接口应用 522
15.5.2 应用示例 524
15.6 MATLAB中的DDE技术 525
15.6.1 关于DDE的一般性说明 525
15.6.2 DDE中的MATLAB服务器 526
15.6.3 DDE中的MATLAB客户 526
15.7 MATLAB中的ActiveX技术 529
15.7.1 关于ActiveX的一般性说明 529
15.7.2 MATLAB的ActiveX自动化 529

附录 532
A.1 常用命令和函数 532
A.2 SIMULINK的库模块 543
A.2.1 库模块 543
A.2.2 连续模块子库Continuous 543
A.2.3 离散模块子库Discrete 544
A.2.4 解析函数和查表函数模块子库Functions&Tables 544
A.2.5 一般数学函数子库Math 544
A.2.6 非线性模块子库Nonlinear 544
A.2.7 信号和系统模块子库Signal&Systems 545
A.2.8 信宿模块子库Sinks 545
A.2.9 信源模块子库Sources 545
A.3 应用程序接口函数库 546
A.3.1 外部程序接口函数库 546
A.3.2 MAT文件库函数 546
A.3.3 MATLAB引擎函数库 547
A.3.4 ActiveX对象的构造和操作命令 547
A.3.5 动态数据交换函数 547

序言
MATLAB是Mathworks公司于1984年推出的一套高性能的数值计算的可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,可方便地应用于数学计算、算法开发、数据采集、系统建模和仿真、数据分析和可视化、科学和工程绘图、应用软件开发等方面。MATLAB之所以能够被广泛应用,是因为它将科研工作者从乏味的Fortran、C编程中解放出来,使他们真正把精力放在科研和设计的核心问题上,从而大大提高了工作效率。在MATLAB环境中描述问题及编制求解问题的程序时,用户可以按照符合人们的科学思维方式和数学表达习惯的语言形式来书写程序。
MATLAB这个词代表“矩阵实验室”(matrix laboratory),它是以著名的线性代数软件包LINPACK和特征值计算软件包EISPACK中的子程序为基础,发展而成的一种开放型程序设计语言。在它的发展过程中,许多优秀的工程师为它的完善做出了卓越的贡献,使其从一个简单的矩阵分析软件逐渐发展成为一个具有极高通用性的、带有众多实用工具的运算操作平台。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、图像处理、模糊逻辑、小波分析和系统仿真等方面的应用。借助于这些现有的工具,科研人员可以直观、方便地进行分析、计算及设计工作,从而大大节省了时间。

文摘
插图:

MATLAB 7.0从入门到精通

MATLAB是一个交互式系统(写程序与执行命令同步),其基本的数据元素是没有维数限制的阵列。这使得用户可以解决许多工程技术上的问题,特别是那些包含了矩阵和向量的公式的计算。采用MATLAB编制解决上述问题的程序比采用只支持标量和非交互式的编程语言(如C语言和Fortan语言)更加方便。
MATLAB这个词代表“矩阵实验室”(matrix laboratory),它是以线性代数软件包LINPACK和特征值计算软件包EISPACK中的子程序为基础发展起来的一种开放型程序设计语言。20世纪80年代初期,Cleve Moler和John IAttle采用C语言改写了MATLAB的内核,不久他们便成立了Mathworks软件开发公司,并将MATLAB正式推向市场。历经十几年的发展和竞争,MATLAB成为国际认可的最优化的科技应用软件。在大学里,它是用于初等和高等数学、自然科学和工程学的标准教学工具;在工业界,它是一个高效的研究、开发和分析的工具。随着科技的发展,许多优秀的工程师不断地对:MATLAB进行了完善,使其从一个简单的矩阵分析软件逐渐发展成为一个具有极高通用性,并带有众多实用工具的运算操作平台。
MATLAB的一个重要特色就是它有一套程序扩展系统和一组称之为工具箱(toolboxes)的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。

内容简介
《MATLAB 7.0从入门到精通(修订版)》对MATLAB 7.0进行了详细的介绍,力求做到细致全面。全书共分为15章。前5章是有关MATLAB的基础知识,包括MATLAB的安装、卸载及系统功能的简述,MATLAB的数学运算和数据可视化工具以及MATLAB的编程等内容。第6章~第9章是MATLAB的高级应用部分,分别介绍了MATLAB 7.0的数据分析和处理功能,符号计算功能,Simulink仿真环境和文件I/O操作。第10章~第12章和第14章介绍了信号处理工具箱、图像处理工具箱和编译工具箱以及应用广泛的高级图形设计。第13章、第15章介绍了MATLAB的外围功能,包括与Word、Excel的混合使用和MATLAB的应用程序接口。附录部分列出了常用命令和函数,Simulink的库模块和应用程序接口函数库。
《MATLAB 7.0从入门到精通(修订版)》叙述详细,深入浅出,又有丰富的例程,适合使用MATLAB的本科生、研究生和教师以及广大科研工作人员作为参考用书。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多