《精通MATLAB R2011a》是一本极具生命力的书!从它Z早的雏形《掌握和精通MATLAB》1997年问世,到2000年Z早版本《精通MATLAB 5.3版》出版,再到《精通MATLAB 6.5版》2003年更新版本,终于在2011年底,又推出了全新改版的《精通MATLAB R2011a》。
都说“十年磨一剑”,我们跟随《精通MATLAB R2011a》作者张志涌老师一起,用15年的时间,倾心打造一本【全面】【可靠】【实用】的MATLAB图书。其间有削枝强干的不舍,有半途而废的遗憾,但更多的是对内容编写的精益求精,对各方鼓励的不胜感激,对出版形式的不断改进。
在《精通MATLAB 6.5版》之后,时隔七年,新版《精通》终于在广大读者的热切期盼中终于出版了!我们真诚地感谢张志涌老师对我们的信任和支持,以及对《精通MATLAB R2011a》所倾注的心血!我们还要感谢一路以来,不断支持和帮助我们的读者朋友们,你们反馈的每一条意见和建议我们都如获至宝,并鞭策我们不断努力改进,以不辜负你们的希望。非常荣幸,进十年来与《精通MATLAB R2011a》共同成长,与各位读者共同进步!
《精通MATLAB R2011a》由纸质媒体和电子媒体有机结合而成。纸质媒体便于读者进行系统、全面、长时间连续地阅读,便于随心翻阅、浏览;而电子媒体向读者提供色彩信息和动态交互的软件环境,提供读者实践《精通MATLAB R2011a》内容所需的各种文件。
《精通MATLABR2011a》包含MATLAB使用和数学知识的丰富层次。编著《精通MATLAB R2011a(附光盘1张)》有四个主要目的:(1)帮助初学者顺利跨入MATLAB大门;(2)全面、多层次、细致而深入地叙述MATLAB中数值、字符串、胞元、构架、逻辑、函数句柄六种重要数据类型的应用规则、相互配用和编程规范;(3)由浅入深地阐述MATLAB三种建模、分析、仿真环境——数值计算、符号计算和Simulink环境的特征和使用要领;(4)以实例讲述MATLAB代表的现代计算能力对传统算法和思维的影响。《精通MATLAB R2011a》包含276个算例。所有算例的程序都是可靠、完整的。读者可以完整、准确地重现《精通MATLAB R2011a》所提供的算例结果,以掌握要领,举一反三,到达灵活应用的境地。《精通MATLAB R2011a》正文和算例所涉及的指令全部罗列在“附录C索引”中。该索引与目录组合,可为读者提供比较完善的快速查阅环境。随书光盘中包含:黑白纸质印刷版无法表现的各种彩色图形;用Mbook模板制作的“活性”的各章DOC文档;各算例运行所需的M文件和MAT数据文件;Simulink块图模型的MDL文件;图形用户界面的FIG文件。《精通MATLABR2011a》既可作为理工科院校研究生、本科生系统学习的教材,又可以作为广大科技工作者借助MATLAB进行科学计算及仿真的自学和参考用书。
第1章 基础准备及入门
1.1 MATLAB的安装和工具包选择
1.2 Desktop操作桌面的启动
1.2.1 MATLAB的启动
1.2.2 Desktop操作桌面简介
1.3 CommandWindow运行入门
1.3.1 CommandWindow指令窗简介
1.3.2 最简单的计算器使用法
1.3.3 数值、变量和表达式
1.数值的记述
2.变量命名规则
3.MATLAB默认的数学常数
4.运算符和表达式
5.面向复数设计的运算——MATLAB特点之一
6.面向数组设计的运算——MATLAB特点之二
1.4 CommandWindow操作要旨
1.4.1 指令窗的显示方式
1.默认的输入显示方式
2.运算结果显示
3.显示方式的永久设置
1.4.2 指令行中的标点符号
1.4.3 常用控制指令
1.4.4 指令窗中指令行的编辑
1.5 历史指令窗(Command History)
1.5.1 Command History历史指令窗简介
1.5.2 历史指令的再运行
1.6 当前目录浏览器(Current Directory)、路径设置器和文件管理
1.6.1 当前目录浏览器简介
1.6.2 用户目录和当前目录设置
1.6.3 MATLAB的搜索路径
1.6.4 MATLAB搜索路径的扩展
1.何时需要修改搜索路径
2.利用设置路径对话框修改搜索路径
3.利用指令path设置路径
1.7 工作空间浏览器和变量编辑器
1.7.1 工作空间浏览器和变量可视化
1.7.2 工作空间的管理指令
1.查询指令who及whos
2.从工作空间中删除变量和函数的指令clear
3.整理工作空间内存碎片的指令pack
1.7.3 VariableEditor变量编辑器
1.7.4 数据文件和变量的存取
1.借助工作空间浏览器产生保存变量的MAT文件
2.借助输入向导ImportWizard向工作空间装载变量
3.存取数据的操作指令save和load
1.8 Editor/Debugger和脚本编写初步
1.8.1 Editr/DebuggerM文件编辑器简介
1.8.2 M脚本文件编写初步
1.9 帮助系统及其使用
1.9.1 帮助体系的三大系统
1.9.2 常用帮助指令
1.函数搜索指令
2.词条搜索指令
1.9.3 Help帮助浏览器
1.帮助浏览器的导出
2.帮助浏览器界面简介
3.帮助浏览器默认显示的利用
第2章 数值数组及向量化运算
2.1 数值数组的创建和寻访
2.1.1 一维数组的创建
1.递增/减型一维数组的创建
2.其他类型一维数组的创建
2.1.2 二维数组的创建
1.小规模数组的直接输入法
2.中规模数组的数组编辑器创建法
3.中规模的M文件创建法
4.利用MATLAB函数创建数组
2.1.3 二维数组元素的标识和寻访
1.数组的维数和大小
2.数组的标识和寻访
2.1.4 数组的扩缩和特殊操作
1.数组的扩充和收缩
2.数组的特殊操作
3.数组操作函数
2.2 数组运算
2.2.1 数组运算的由来和规则
1.函数关系数值计算模型的分类
2.提高程序执行性能的三大措施
3.数组运算规则
4.数组运算符及数组运算函数
2.2.2 数组运算和向量化编程
2.2.3 数组特殊运算指令汇总
2.3 高维数组
2.3.1 高维数组的创建
2.3.2 高维数组的孤维删除
2.3.3 高维数组的维度重排
2.4 “非数”和“空”数组
2.4.1 非数NaN
2.4.2 “空”数组
2.5 关系操作和逻辑操作
2.5.1 关系操作
2.5.2 逻辑操作
2.5.3 常用逻辑函数
第3章 字符串、胞元和构架数组
3.1 MATLAB的数据类型
3.2 字符串数组
3.2.1 串数组的属性和标识
3.2.2 复杂串数组的创建
1.多行字符串数组的创建
2.利用胞元数组创建复杂字符串
3.2.3 串转换函数
3.2.4 串操作函数
3.3 胞元数组
3.3.1 胞元数组的创建和显示
1.胞元标识寻访和内容编址寻访的不同
2.胞元数组的创建和显示
3.3.2 胞元数组的扩充、收缩和重组
3.3.3 胞元数组内容的获取和配置
3.3.4 胞元与数值数组之间的转换
3.3.5 对胞元数组运算的cellfun指令
3.3.6 胞元数组的操作函数汇总
3.4 构架数组
3.4.1 构架数组的创建和显示
1.直接创建法及显示
2.利用构造函数创建构架数组
3.4.2 构架数组域中内容的调取和设置
3.4.3 构架数组的扩缩、域的增删和域名重排
3.4.4 构架数组和胞元数组之间的转换
3.4.5 对构架域运算的structfun和arrayfun指令
3.4.6 构架数组的操作函数汇总
第4章 数值计算
4.1 MATLAB的浮点数体系
4.2 数值微积分
4.2.1 数值极限
4.2.2 数值差分
4.2.3 数值积分(Numerical Integration)
1.一元函数积分(Quadrature)
2.样条法求一元数值积分
3.用SIMULINK求一元数值积分
4.2.4 多重数值积分
1.常限重积分
2.变限重积分
4.3 矩阵分析
4.3.1 矩阵运算和特征参数
1.矩阵运算
2.矩阵的标量特征参数
4.3.2 奇异值分解和矩阵结构
1.奇异值分解
2.与奇异值相关的矩阵结构
4.4 特征值分解和矩阵函数
4.4.1 特征值分解问题
4.4.2 矩阵的谱分解和矩阵函数
4.5 解线性方程
4.5.1 求解线性方程的相关指令
4.5.2 线性方程矩阵除解法
4.5.3 线性二乘问题的解
4.5.4 一般代数方程的解
4.6 随机数的产生及其特征描述
4.6.1 随机数的产生及重现控制
1.默认全局随机流的简明管理指令
2.三种基本随机数发生指令
3.用户随机流的创建和使用
4.随机流的重现控制
5.独立随机数序列和随机流的产生
6.随机数重现控制旧版指令的使用建议
4.6.2 数据样本分布可视化描述
4.6.3 随机分布的数字特征及其统计量
1.随机分布的中心位置统计量
2.随机分布的聚散度统计量
3.斜度和峭度高阶统计量
4.7 多项式运算和卷积
4.7.1 多项式的运算函数
1.多项式表达方式的约定
2.多项式运算函数
4.7.2 卷积
1.两有限长序列的卷积
2.有限长序列与无限长序列的卷积
4.8 多项式拟合和非线性最小二乘
4.8.1 线性拟合和最小二乘
4.8.2 多项式拟合
4.8.3 非线性最小二乘拟合
1.伪线性化处理
2.非线性最小二乘拟合
4.9 插值和样条
4.9.1 一维插值
4.9.2 高维函数的插值
4.9.3 样条插值
4.9.4 样条函数的应用
1.样条函数的微积分
2.样条函数的零点和最小值
4.10 Fourier分析
4.10.1 快速Fourier变换和逆变换指令
4.10.2 连续时间函数的Fourier级数展开
1.展开系数的积分求取法
2.Fourier级数与DFT之间的数学联系
3.MATLAB算法实现
4.10.3 利用DFT计算连续函数Fourier变换CFT
1.CFT与DFT之间的数学联系
2.MATLAB算法实现
4.11 常微分方程
4.11.1 常微分方程初值问题的解算
1.求解初值问题的思路
2.解算指令的调用格式
3.解算指令的属性及其设置
4.嵌套函数法传递解算参数
5.匿名函数法传递解算参数
6.带事件设置的微分方程解算
4.11.2 常微分方程的边值问题解
1.bvp4c求解边值问题的思路
2.求解边值问题的配套指令
3.求解含未知参数的边值问题
4.12 最小值优化问题
4.12.1 MATLAB最小值优化指令概述
4.12.2 单变量局域优化指令fminbnd
4.12.3 多变量无约束局域优化指令fminsearch
4.12.4 多变量约束局域优化指令fmincon
4.12.5 GlobalSearch实施的全域优化
……
第5章 符号计算
第6章 数据可视及探索
第7章 M文件和函数句柄
第8章 Simulink交互式仿真
第9章 图形用户界面(GUI)
附录A Notebook
附录B 光盘使用说明
附录C 索引
参考文献
《精通Matlab6.5》是我学习Matlab的入门教程,它综合性强,内容详细,实例也很有特点,能够涵盖住所述知识点,并给出扩展。我曾经阅读《精通Matlab6.5》八遍左右,每一次都有收获。
期待《精通MatlabR2011a》的出版,因为随着科学技术的发展,Matlab也在不断的退出新版,功能越来越强大。希望《精通MatlabR2011a》再续《精通Matlab6.5》的辉煌,为广大莘莘学子提供帮助。
——lyqmath
次接触《精通MATLAB 6.5》还是在大学本科时,《精通MATLAB 6.5》是我大学选修课的一本推荐教程。那时候的主流的MATLAB版本还是6.5版。由于是理学专业,对科学计算的要求比较高。所以很多课程上都会用到MATLAB。同时在大学期间,参加了大学生科技创新项目以及数学建模,所以MATLAB成为了我必备的一个编程工具,与此同时《精通MATLAB 6.5》也就成了经常放在手边的一个得力的工具书。这本书陪伴我顺利完成了科技创新项目、数学建模,以及课堂上的各种编程实践作业,通过这个过程也积累了很多MATLAB的经验和技巧。
由于MATLAB语言的特殊性,例如矩阵处理,它的一些语言规则与其他语言不同,所以很多细小的技巧和语法会经常忘掉,但是《精通MATLAB 6.5》解决了这个难题,它里面有丰富的实例,同时也有系统的讲解,我们随时都可以翻阅和查询,能够快速得出解决方案。所以,我个人认为这还是一本MATLAB领域中文版难的一本系统工具书。
时间飞逝,转眼间,硕士毕业,博士也已开始,又重新返回到了崇尚科学计算的科研大军中。而MATLAB这个工具又一次进入我的视野。如今,MATLAB版本已经升级到了matlab2011a版本。上半年在ILOVEMATLAB论坛中,参加了关于matlab2011a中C语言与MATLAB语言无缝转换的工具包,听了之后,非常震撼。个人认为,这个是MATLAB向主流语言进军迈出的一大步,因为这个工具包已经是很多人期待很久的东西了。
作为MATLAB以及《精通MATLAB 6.5》的忠实粉丝,非常希望《精通matlab2011a》能够有更多和更新的信息提供给用户,能够在为MATLAB的普及和发展做出重要的贡献,同时希望为更多的科研人员提供给帮助,成为一笔隐形的财富。
——cheewii