MATLAB程序设计教程(第二版)

-
【作 者】刘卫国 主编
【I S B N 】978-7-5084-7045-0
【责任编辑】杨元泓
【适用读者群】本科
【出版时间】2010-02-01
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第2版
【页 数】320
【千字数】
【印 张】
【定 价】¥32
【丛 书】21世纪高等院校规划教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书是在第一版的基础上修改而成,全书基本保持第一版的体系结构,但更新了软件版本(采用MATLAB 7.7)、充实了实例、增加了实验部分,使得全书内容更丰富、教学适应性更强。全书按照由浅入深、循序渐进的原则进行编排,在讲清有关MATLAB算法原理及有关数学背景的基础上,结合实例介绍MATLAB的功能与应用。全书共12章,主要内容有MATLAB操作基础、MATLAB矩阵及其运算、MATLAB程序设计、MATLAB绘图、MATLAB数据分析与多项式计算、MATLAB解方程与最优化问题求解、MATLAB数值积分与微分、MATLAB符号运算、MATLAB图形句柄、MATLAB图形用户界面设计、Simulink动态仿真集成环境以及MATLAB外部接口技术。
在第一版的基础上修订而成,以MATLAB 7.7版为实践环境介绍MATLAB程序设计的方法,顺应技术发展趋势;结合有关算法原理和数学方法来介绍MATLAB的功能,强调理论和实践相结合,满足应用需求;内容深入浅出,示例丰富,教学适用性强。书中示例既有对MATLAB重点和难点的诠释,又展示应用技巧,提供应用范例。
MATLAB(MATrix LABoratory)以矩阵运算为基础,将高性能的数值计算和符号计算功能、强大的绘图功能、动态系统仿真功能以及为数众多的应用工具箱集成在一起,是颇具特色和影响的科学计算软件,在科学研究以及工程设计领域有着十分广泛的应用。
近年来,MATLAB版本不断更新、功能不断完善、应用领域不断扩大。从2006年起,MathWorks公司每年发布两次以年份命名的MATLAB版本。新的版本增加了很多新的功能和特性。
在MATLAB版本不断更新的同时,MATLAB的应用领域也得到不断拓展,在许多学术刊物上都可以看到MATLAB的应用案例。在高等院校,无论是在课程教学,还是在课程设计、毕业设计等培养环节中,应用MATLAB已十分普遍,MATLAB成为重要的解题工具,将MATLAB融入其他课程的教学以及教学环节成为改革传统教学的重要措施。许多高等院校将MATLAB语言列入培养方案,纳入计算机教育课程体系,开设了相应的课程。
本书第一版于2005年3月出版后,被许多高校选做教材,受到同行及读者的欢迎,在此我们表示诚挚的谢意。为了适应新的技术发展要求,并总结教材第一版在教学过程中的体会与经验,更好地为教学服务,作者在本书第一版的基础上进行了合理的取舍,并作了许多修改、补充和完善,形成该书第二版。第二版基本保持第一版的体系结构,但更新了软件版本(采用MATLAB 7.7)、充实了实例、增加了实验部分,使得全书内容更丰富、教学适应性更强。
全书主要内容有MATLAB操作基础、MATLAB矩阵及其运算、MATLAB程序设计、MATLAB绘图、MATLAB数据分析与多项式计算、MATLAB解方程与最优化问题求解、MATLAB数值积分与微分、MATLAB符号运算、MATLAB图形句柄、MATLAB图形用户界面设计、Simulink动态仿真集成环境以及MATLAB外部接口技术。两个附录分别给出了MATLAB常用命令与函数分类索引表和MATLAB可用的LaTeX字符集,可供读者需要时查阅。
本书可作为高校理工科专业大学生、研究生学习的教材,也可供广大科技工作者阅读使用。本书配有电子教案及相关教学资源(案例、程序源代码等),读者可以从中国水利水电出版社网站(www.waterpub.com.cn)和万水书苑网站(http://www.wsbookshow.com)下载,或直接与作者(liuwg@mail.csu.edu.cn)联系获取。
本书由刘卫国任主编。第1、9~11章由刘卫国编写,第2、4~6章由蔡立燕编写,第3章由童键编写,第7、8章由舒卫真编写,第12章由蔡旭晖编写,附录由刘胤宏编写。参加本书部分内容编写及程序调试工作的还有陈昭平、刘光瑜、熊拥军、戴忠、王新英、张志良、李斌、康维、罗站城、邹美群、胡勇刚、赵慧明等。全书由刘卫国修改定稿。
由于作者水平所限,书中可能会有不妥之处,敬请各位读者批评指正。
第二版前言
第一版前言
第1章 MATLAB操作基础 1
1.1 MATLAB概述 1
1.1.1 MATLAB的发展 1
1.1.2 MATLAB的主要功能 2
1.1.3 初识MATLAB 3
1.2 MATLAB集成环境 5
1.2.1 启动与退出MATLAB集成环境 5
1.2.2 MATLAB操作界面 6
1.2.3 MATLAB的搜索路径 9
1.3 MATLAB帮助系统 10
1.3.1 MATLAB帮助窗口 10
1.3.2 MATLAB帮助命令 11
1.3.3 MATLAB演示系统 12
1.3.4 MATLAB远程帮助系统 12
实验指导 12
思考练习 13
第2章 MATLAB矩阵及其运算 14
2.1 变量和数据操作 14
2.1.1 变量与赋值 14
2.1.2 预定义变量 15
2.1.3 内存变量的管理 15
2.1.4 MATLAB常用数学函数 17
2.1.5 数据的输出格式 19
2.2 MATLAB矩阵 20
2.2.1 矩阵的建立 21
2.2.2 矩阵的拆分 22
2.2.3 特殊矩阵 25
2.3 MATLAB运算 29
2.3.1 算术运算 29
2.3.2 关系运算 32
2.3.3 逻辑运算 33
2.4 矩阵分析 34
2.4.1 对角阵与三角阵 34
2.4.2 矩阵的转置与旋转 36
2.4.3 矩阵的逆与伪逆 37
2.4.4 方阵的行列式 39
2.4.5 矩阵的秩与迹 39
2.4.6 向量和矩阵的范数 40
2.4.7 矩阵的条件数 41
2.4.8 矩阵的特征值与特征向量 42
2.5 矩阵的超越函数 43
2.6 字符串 44
2.7 结构数据和单元数据 46
2.7.1 结构数据 46
2.7.2 单元数据 47
2.8 稀疏矩阵 48
2.8.1 矩阵存储方式 48
2.8.2 稀疏存储方式的产生 49
2.8.3 稀疏矩阵应用举例 52
实验指导 54
思考练习 55
第3章 MATLAB程序设计 56
3.1 M文件 56
3.1.1 M文件的分类 56
3.1.2 M文件的建立与打开 57
3.2 程序控制结构 58
3.2.1 顺序结构 58
3.2.2 选择结构 60
3.2.3 循环结构 65
3.3 函数文件 69
3.3.1 函数文件的基本结构 69
3.3.2 函数调用 70
3.3.3 函数参数的可调性 71
3.3.4 全局变量与局部变量 72
3.4 程序举例 73
3.5 程序调试 77
3.5.1 程序调试概述 77
3.5.2 调试菜单 78
3.5.3 调试命令 79
实验指导 80
思考练习 81
第4章 MATLAB绘图 82
4.1 二维数据曲线图 82
4.1.1 绘制单根二维曲线 82
4.1.2 绘制多根二维曲线 84
4.1.3 设置曲线样式 87
4.1.4 图形标注与坐标控制 88
4.1.5 图形的可视化编辑 91
4.1.6 图形窗口的分割 92
4.2 其他二维图形 93
4.2.1 对函数自适应采样的绘图函数 93
4.2.2 其他坐标系下的二维数据曲线图 94
4.2.3 二维统计分析图 96
4.3 隐函数绘图 97
4.4 三维图形 98
4.4.1 三维曲线 98
4.4.2 三维曲面 99
4.4.3 其他三维图形 104
4.5 图形修饰处理 105
4.5.1 视点处理 105
4.5.2 色彩处理 107
4.5.3 图形的裁剪处理 109
4.6 图像处理与动画制作 110
4.6.1 图像处理 110
4.6.2 动画制作 111
实验指导 113
思考练习 113
第5章 MATLAB数据分析与多项式计算 115
5.1 数据统计处理 115
5.1.1 最大值和最小值 115
5.1.2 求和与求积 117
5.1.3 平均值和中值 118
5.1.4 累加和与累乘积 119
5.1.5 标准方差与相关系数 120
5.1.6 排序 121
5.2 数据插值 122
5.2.1 一维数据插值 123
5.2.2 二维数据插值 124
5.3 曲线拟合 126
5.4 离散傅里叶变换 128
5.4.1 离散傅里叶变换算法简介 128
5.4.2 离散傅里叶变换的实现 128
5.5 多项式计算 130
5.5.1 多项式的四则运算 130
5.5.2 多项式的导函数 131
5.5.3 多项式的求值 132
5.5.4 多项式求根 133
实验指导 134
思考练习 135
第6章 MATLAB解方程与最优化问题求解 136
6.1 线性方程组求解 136
6.1.1 直接解法 137
6.1.2 迭代解法 142
6.2 非线性方程数值求解 145
6.2.1 单变量非线性方程求解 145
6.2.2 非线性方程组的求解 145
6.3 常微分方程初值问题的数值解法 146
6.3.1 龙格—库塔法简介 147
6.3.2 龙格—库塔法的实现 147
6.4 最优化问题求解 151
6.4.1 无约束最优化问题求解 151
6.4.2 有约束最优化问题求解 152
6.4.3 线性规划问题求解 153
实验指导 153
思考练习 154
第7章 MATLAB数值积分与数值微分 156
7.1 数值积分 156
7.1.1 数值积分基本原理 156
7.1.2 数值积分的实现方法 157
7.1.3 多重定积分的数值求解 159
7.2 数值微分 161
7.2.1 数值差分与差商 161
7.2.2 数值微分的实现 161
实验指导 163
思考练习 164
第8章 MATLAB符号运算 165
8.1 符号对象 165
8.1.1 建立符号对象 165
8.1.2 符号表达式运算 167
8.1.3 符号表达式中变量的确定 170
8.1.4 符号矩阵 171
8.2 符号微积分 172
8.2.1 符号极限 172
8.2.2 符号导数 173
8.2.3 符号积分 174
8.3 级数 175
8.3.1 级数符号求和 175
8.3.2 函数的泰勒级数 175
8.4 符号方程求解 176
8.4.1 符号代数方程求解 176
8.4.2 符号常微分方程求解 177
实验指导 178
思考练习 179
第9章 MATLAB图形句柄 181
9.1 图形对象及其句柄 181
9.1.1 图形对象 181
9.1.2 图形对象句柄 182
9.1.3 图形对象属性 183
9.2 图形窗口与坐标轴 185
9.2.1 图形窗口对象 185
9.2.2 坐标轴对象 187
9.3 低层绘图操作 189
9.3.1 曲线对象 189
9.3.2 曲面对象 190
9.3.3 文本对象 192
9.3.4 其他核心对象 193
实验指导 196
思考练习 197
第10章 MATLAB图形用户界面设计 198
10.1 用户界面对象 198
10.2 菜单设计 199
10.2.1 建立用户菜单 199
10.2.2 菜单对象常用属性 200
10.2.3 快捷菜单 202
10.3 对话框设计 203
10.3.1 对话框的控件 203
10.3.2 控件的操作 204
10.3.3 对话框设计示例 210
10.4 图形用户界面开发环境 213
10.4.1 图形用户界面设计窗口 213
10.4.2 常用的用户界面设计工具 215
10.4.3 图形用户界面开发环境应用示例 219
实验指导 221
思考练习 222
第11章 Simulink动态仿真集成环境 223
11.1 Simulink操作基础 223
11.1.1 Simulink简介 223
11.1.2 Simulink的启动与退出 224
11.2 系统仿真模型 225
11.2.1 Simulink的基本模块 225
11.2.2 模块的编辑 226
11.2.3 模块的连接 227
11.2.4 模块的参数和属性设置 228
11.3 系统的仿真 231
11.3.1 设置仿真参数 231
11.3.2 启动系统仿真与仿真结果分析 235
11.3.3 系统仿真实例 239
11.4 使用命令操作对系统进行仿真 242
11.5 子系统及其封装技术 246
11.5.1 子系统的建立 247
11.5.2 子系统的条件执行 248
11.5.3 子系统的封装 251
11.6 S函数的设计与应用 256
11.6.1 用MATLAB语言编写S函数 257
11.6.2 S函数的应用 259
实验指导 263
思考练习 264
第12章 MATLAB外部接口技术 265
12.1 MATLAB与Microsoft Office的
混合使用 265
12.1.1 在Word中使用MATLAB 265
12.1.2 在Excel中使用MATLAB 269
12.2 MATLAB数据接口 271
12.2.1 数据文件操作 271
12.2.2 MAT文件及其应用 276
12.3 MATLAB应用程序接口 280
12.3.1 C语言MEX文件的创建 280
12.3.2 MATLAB引擎技术 283
实验指导 286
思考练习 286
附录A MATLAB常用命令与函数分类索引表 288
附录B MATLAB可用的LaTeX字符集 303
参考文献 305