本书系统、详细地介绍了MATLAB 8.X软件的主要特点、使用方法、经验技巧、应用案例。与其他同类书籍相比,本书具有如下特点: 介绍了MATLAB 8.0软件的新特点和功能; 配有丰富的例程与详细的注解,精选了300多个例子,每个例子有详细的注释和解析; 面向应用实战,分享了作者在教学、科研过程中的一些心得(以经验分享的形式出现); *后,给出了电机的建模与控制、人口增长模型拟合与预测等典型实例。
本书既可作为高等院校电子信息、计算机相关专业本科生、研究生的教材,也可作为毕业设计、研究生课题、各类相关竞赛人员的参考资料,还可作为相关工程技术人员的参考书。
《MATLAB 8.X实战指南》是精通MATLAB丛书之一,配有丰富的例程与详细的注解。本书在讲解MATLAB 8.0软件基本使用方法、技巧的同时,精选了300多个例子,每个例子都有详细的注释和解析;并且在每个例子中,都会有运行效果图,使读者具有身临其境的感觉。本书提供所有程序源代码,可通过MATLAB中文论坛与作者在线交流。精通MATLAB系列书目如下:? MATLAB通信系统建模与仿真? MATLAB R2015a数字图像处理? MATLAB R2015b数学建模? MATLAB R2015a小波分析? MATLAB R2015b神经网络技术? MATLAB R2015b*化计算? MATLAB R2015b概率与数理统计? MATLAB R2015b数值计算方法? 数字图像处理高级应用--基于MATLAB与CUDA的实现(第2版)? MATLAB 8.X实战指南
前言
MATLAB是美国Mathworks公司开发推出的一款集科学计算、可视化功能、帮助提示功能于一体的开放交互式大型软件,目前已被广泛应用于数学、物理、化工、机电、图像信号处理、金融、生物医药工程、海洋科学、航天工程以及社会科学等各个领域。其方便而简单的程序设计语言、强大的计算能力、卓越的数据可视化能力、丰富的应用工具箱受到了广大科技工作者的普遍好评,已成为在校学生和科研工作者不可或缺的科研软件。MATLAB软件自20世纪80年代问世以来,已有三十多年的发展历程。MATLAB R2015a软件属于8.0版本,其界面布局、应用功能等方面与6.0版本、7.0版本都有所区别,工具箱的种类也有所增加和完善。为了使初学者能够快速熟悉、了解MATLAB 8.0软件,笔者在多年教学与科研的基础上编写了本书。与其他同类书籍相比,本书具有如下特点:(1) 介绍了MATLAB 8.0软件的特点和功能。由于MATLAB软件不断发展和完善,MATLAB 8.0软件与以往其他版本有所改进,功能也有所增加。本书在介绍MATLAB基本功能和应用的基础上,对其新增功能进行了介绍和讲解。(2) 配有丰富的例程与详细的注解。本书在讲解MATLAB 8.0软件基本使用方法、技巧的同时,精选了300多个例子,每个例子有详细的注释和解析; 并且在每个例子中,都会有运行效果图,使读者具有身临其境的感觉。(3) 面向应用实战。学习软件的最终目的是解决学习、科研、工程中的具体问题。本书的一大特色就是面向应用实战,分为计算篇(第1~5章)、程序篇(第6章)、交互篇(第7、8章)、仿真篇(第9章)和应用篇(第10、11章),并且以问题索引式布局谋篇,便于读者查询; 同时,本书在讲解的过程中,分享了作者在教学、科研过程中的一些心得(以经验分享的形式出现),有利于读者快速上手; 最后,列举了伪随机序列的生成、电机的建模与控制、人口增长模型拟合与预测等典型实例,这些实例也是学习、科研、工程中经常遇到的。全书共12章,内容包括: 快速了解MATLAB、如何采用MATLAB进行初等数学运算、如何采用MATLAB进行矩阵运算、如何利用MATLAB求解线性方程组、如何采用MATLAB进行概率统计分析、如何采用MATLAB进行符号计算、如何采用MATLAB语言进行编程、如何采用MATLAB进行绘图、如何进行GUI交互设计、如何采用Simulink进行仿真、如何采用MATLAB进行数据拟合与插值、MATLAB典型应用实例精讲。本书可作为: 对MATLAB感兴趣的读者的参考书; 理工科相关专业的本科生、研究生的教材; 本科毕业设计、研究生学术论文的资料; 相关工程技术人员的参考资料。本书由赵小川组织编写并进行统稿,梁冠豪负责第1、9章的编写,何灏负责第2、3章的编写,邱帅睿、于逊等人对本书进行了部分图形绘制与校对。同时,赵斌、张风英、何灏、于逊、马子领、李喜玉、李阳、刘祥、吴军、李利华参与了本书的部分编写工作,对各章的程序进行验证。在此,对他们付出的辛勤劳动表示衷心的感谢。书中疏漏或不足之处在所难免,敬请读者批评指正。有兴趣的朋友可以发邮件到: zhaoxch1983@sina.com,与作者交流。赵小川2016年12月于北京
目录
第0章快速了解MATLAB
0.1MATLAB的基本概况
0.1.1MATLAB的发展历史
0.1.2MATLAB相关产品概述
0.1.3MATLAB的主要特性
0.1.4MATLAB的系统组成
0.2MATLAB R2015a操作界面入门
0.2.1菜单栏
0.2.2快速访问工具栏
0.2.3当前文件夹工具栏
0.2.4工作区
0.2.5命令行窗口
0.2.6命令历史记录窗口
0.3MATLAB R2015a 基本操作入门
0.3.1MATLAB通用命令
0.3.2MATLAB基本操作
0.3.3MATLAB帮助系统
第1章如何采用MATLAB进行初等数学运算
1.1MATLAB有哪些主要的数据类型
1.1.1数值类型
1.1.2逻辑类型
1.1.3字符和字符串
1.1.4结构体类型
1.1.5数组与矩阵类型
1.1.6单元数组类型
1.1.7map容器类型
1.2如何进行初等数学运算
1.2.1加减乘除四则运算
1.2.2幂、指数、对数运算
1.2.3三角函数运算
1.2.4多项式运算
1.3MATLAB有哪些运算符
1.3.1算术运算符
1.3.2关系运算符
1.3.3逻辑运算符
1.3.4运算优先级
第2章如何采用MATLAB进行矩阵运算
2.1如何在MATLAB中生成矩阵
2.1.1如何生成数值矩阵
2.1.2如何生成复数矩阵
2.2如何进行矩阵变形操作
2.3如何进行矩阵的下标引用
2.4如何获取当前矩阵信息
2.5如何对矩阵进行运算
2.6如何对矩阵进行比较
2.7如何对矩阵的元素值进行取整
2.8如何对矩阵进行逻辑运算
2.9如何对矩阵进行分解
2.10如何查找矩阵中的最值
2.11如何查找矩阵中的元素
第3章如何利用MATLAB求解线性方程组
3.1如何求线性方程的唯一解或特解
3.1.1利用克拉默法则
3.1.2利用矩阵除法
3.1.3利用矩阵的初等变换
3.2求线性方程的通解
3.2.1求线性齐次方程组的通解
3.2.2求非齐次线性方程组的通解
第4章如何采用MATLAB进行概率统计分析
4.1如何产生随机变量
4.1.1如何产生二项分布随机数
4.1.2如何产生正态分布随机数
4.1.3如何产生常见分布的随机数
4.2如何进行概率密度与概率分布的计算
4.2.1如何计算通用函数概率密度值
4.2.2如何计算专用函数概率密度值
4.2.3如何计算通用函数累积概率值
4.2.4如何计算专用函数累积概率值
4.3如何计算常用的统计特征
4.3.1如何计算均值(数学期望)、中值
4.3.2如何比较数据
4.3.3如何计算方差和标准差
4.3.4如何计算协方差与相关系数
第5章如何采用MATLAB进行符号计算
5.1如何建立符号表达式
5.1.1如何创建符号常量
5.1.2如何创建符号变量和符号表达式
5.1.3如何创建符号矩阵
5.2如何对符号表达式进行代数运算
5.2.1如何进行符号表达式的代数运算
5.2.2如何对符号数值进行精度控制和运算
5.2.3如何实现符号对象与数值对象的转换
5.3如何对符号表达式进行操作和转换
5.3.1符号表达式中自由变量的确定
5.3.2如何对符号表达式进行化简
5.3.3符号表达式的替换
5.3.4如何求反函数和复合函数
5.3.5如何进行符号表达式的转换
5.4如何求符号极限、微积分和级数求和
5.4.1符号极限
5.4.2符号微分
5.4.3符号积分
5.4.4符号级数
5.5如何进行符号积分变换
5.5.1如何求傅立叶变换及其反变换
5.5.2如何求拉普拉斯变换及其反变换
5.5.3如何求Z变换及其反变换
5.6如何求解符号方程
5.6.1代数方程
5.6.2符号常微分方程
5.7如何用符号函数进行绘图
5.7.1符号函数的绘图命令
5.7.2如何使用图形化的符号函数计算器
第6章如何采用MATLAB语言进行编程
6.1基本语句程序结构
6.1.1变量命名规则及其类型
6.1.2顺序结构
6.1.3条件转移语句
6.1.4循环语句
6.1.5错误处理语句
6.2M文件
6.2.1M脚本文件
6.2.2M函数
6.2.3M脚本文件与M函数的对比
6.3函数句柄与匿名函数
6.4综合实例精讲
6.5MATLAB编程技巧
第7章如何采用MATLAB进行绘图
7.1如何创建图形窗口
7.2如何二维曲线
7.2.1二维绘图函数
7.2.2如何对图像进行修饰
7.2.3如何对坐标轴进行设置
7.2.4如何对图像进行标注
7.3如何绘制三维曲线
7.3.1三维曲线绘图函数
7.3.2如何对三维图形进行标注
7.4如何绘制三维曲面
7.4.1三维网格图
7.4.2三维表面图
7.5三维图像的控制
7.5.1色彩
7.5.2视角
7.5.3光源
7.6其他形式的绘图函数简介
第8章如何进行GUI交互设计
8.1需要什么预备知识
8.1.1什么是句柄图形对象体系
8.1.2如何进行句柄图形的对象操作
8.1.3如何进行对象属性设置
8.1.4Figure对象
8.1.5Axes对象
8.1.6Core对象
8.1.7Plot对象
8.1.8Group对象
8.1.9Annotation对象
8.2有哪些图形用户界面控件
8.2.1如何创建图形用户界面控件
8.2.2如何执行鼠标动作
8.2.3如何执行事件队列
8.2.4如何编写回调函数
8.3如何设计对话框对象
8.3.1如何设计公共对话框
8.3.2如何设计一般对话框
8.4如何设计界面菜单
8.4.1如何建立菜单
8.4.2如何设置菜单属性
8.5如何编写回调函数M文件
8.6如何使用图形界面创建工具GUIDE
8.6.1如何利用GUIDE进行GUI设计
8.6.2如何打包GUI生成MATLAB App
8.6.3如何创建带Uicontrol控件的GUI
8.6.4如何创建带菜单和坐标轴的GUI
第9章如何采用Simulink进行仿真
9.1什么是Simulink
9.2Simulink模块库介绍
9.2.1常用模块库
9.2.2连续模块库
9.2.3离散模块库
9.2.4数学运算模块库
9.2.5信号源模块库
9.2.6信号接收模块库
9.2.7用户自定义模块库
9.3创建一个简单的Simulink示例
9.4如何对模块进行基本操作
9.4.1模块的操作
9.4.2信号线的操作
9.5如何对连续系统进行仿真
9.6如何对离散系统仿真
9.7如何采用Simulink进行PID控制仿真
9.7.1什么是PID控制
9.7.2对连续系统进行PID控制参数的调节与仿真
第10章数据拟合与插值
10.1如何进行数据拟合
10.2如何进行数据插值
10.2.1如何进行一维数据的插值
10.2.2如何进行二维数据的插值
第11章MATLAB典型应用实例精讲
11.1m序列及其MATLAB程序实现
11.1.1伪随机序列与m序列
11.1.2互相关性与自相关性
11.1.3典型实例精讲
11.2直流电机的模型建立及其转速控制
11.2.1如何构建直流电机的数学模型
11.2.2如何建立Simulink仿真模型
11.3基于MATLAB的交互式人口数量增长模型拟合
11.3.1主要实现步骤
11.3.2自动生成M代码