内容简介
Matlab是一种数值计算和图形图像处理的工具软件,它的特点是语法结构简明、数值计算高效、图形功能完备、易学易用。它在矩阵运算、数值分析、优化、图形图像处理、系统建模与仿真等领域都有广泛的应用。
《Matlab基础与实例教程》从Matlab的基础知识入手,循序渐进地介绍了Matlab的知识体系结构及操作方法。其中主要介绍了如何使用Matlab进行数据分析、图形图像处理、Matlab编程、图形用户界面建立、Matlab仿真,以及文件输入/输出、编译器和应用程序接口等高级技术。本书利用大量的实例来引导读者快速学习和掌握Matlab的各种功能。
《Matlab基础与实例教程》系统全面,内容合理,实例丰富,层析清晰,使用方便,适用于初、中级Matlab用户,可作为高等学校理工科专业本科生、研究生和教师的教学用书,也可作为广大科研和工程技术人员的参考用书。
前言
与其他高级语言相比,Matlab提供了一个人机交互的教学系统环境,并以矩阵作为基本的数据结构,可以大大节省编程时间。Matlab语法规则简单、容易掌握、调试方便,调试过程中可以设置断点,存储中间结果,从而很快查出程序中的错误。正是由于Matlab的强大功能,Matlab语言受到了越来越多院校师生的欢迎和重视。由于它将使用者从烦琐重复的计算中解放出来,把更多的精力投入到对数学基本含义的理解上,因此,它已逐步成为许多大学生和研究生课程中的重要工具。像线性代数、高等数学、信号处理、自动控制等许多领域,它都表现出高效、简单和直观的性能,是强有力的计算机辅助设计工具。因此,在高等院校里,Matlab已经成为线性代数、自动控制理论、概率论及数理统计、数字信号处理、时间序列分析、动态系统仿真等课程的基本教学工具,熟练运用Matlab已成为大学生、研究生必须掌握的基本技能;在设计研究单位和工业部门,Matlab已成为研究必备软件和标准软件。国际上许多新版科技书籍(特别是高校教材)在讲述其专业时都把Matlab作为基本工具使用。
本书内容共有12章。第1章介绍Matlab的发展历史、基本功能特点、安装和软件使用界面;第2章介绍Matlab数学运算的基本使用方法,包括Matlab的常用数学函数、数据类型、操作函数及Matlab脚本文件等;第3章介绍Matlab数组和向量,包括数组和向量的创建、数组的基本运算、数组和向量的操作;第4章介绍Matlab的数学运算功能,包括数据插值、函数运算及微分方程求解等;第5章介绍Matlab的其他数据结构,包括字符串、单元数组和结构体,为Matlab编程及更多功能的实现打下基础;第6章介绍Matlab编程,包括Matlab程序设计的脚本文件、程序设计与开发、基本语法、语句结构及程序调试等;第7章介绍Matlab的符号运算工具箱,包括功能和实现等;第8章介绍Matlab绘图,绘图是Matlab的一项重要功能,主要介绍基本的图形绘制、绘制图形的常用操作、特殊图形的绘制等内容;第9章介绍Matlab句柄图形,为学习Matlab图形用户界面(GUI)设计做好准备;第10章介绍Matlab GUI设计;第11章介绍Simulink仿真工具箱;第12章介绍Matlab的文件输入与输出操作。
本书内容特色如下。
1. 内容新颖,知识全面
本书内容安排考虑到Matlab进行仿真和运算分析时的基础知识和实践操作,从基础的变量、函数、数据类型等入手,到数学分析、图形可视化、Simulink仿真、文件读写等,全面、详细地帮助读者掌握Matlab的分析方法。
2. 讲解深入,实例清楚
Matlab的基础内容中涉及比较多的方面,本书在对相关主题介绍的同时,对函数或命令中比较常用的部分进行重点的分析介绍,同时,通过实例对函数和命令中的一些典型知识点进行讲解,从而帮助读者掌握和深入学习。
3. 精心编排,便于查阅
本书在讲解Matlab命令时,精心选择了有代表性的实例。同时,将相关内容和函数命令通过表格的形式归纳总结,从而使读者在学习的同时,翻阅查找相关部分的命令、函数。因此,非常有利于读者阅读和查阅。
读者可访问http://www.tup.com.cn获取本书学习源代码和PPT课件。
本书由华北理工大学的赵骥老师、曹岩老师、李洪波老师以及唐山市曹妃甸区教育体育局的杨红艳老师编写,参与编写的老师还有陈艳华、封素洁、封超、代小华等。本书既可以作为高等院校的教科书,又可供广大科技工作者阅读使用。
编 者
目录
第1章 Matlab概述 11.1 Matlab简介 21.1.1 Matlab的发展 21.1.2 Matlab的优点 41.2 Matlab的安装 61.3 Matlab操作界面介绍 91.3.1 命令窗口 101.3.2 命令历史窗口 121.3.3 工作空间窗口 131.3.4 当前目录窗口 131.4 Matlab帮助系统 141.4.1 帮助窗口 141.4.2 帮助命令 151.4.3 Matlab远程帮助系统 171.5 课后练习 18第2章 Matlab 基础知识 192.1 一般运算符及操作符 202.1.1 运算符 202.1.2 操作符 232.2 数据格式显示 252.3 关系运算符 272.4 逻辑运算及逻辑函数 292.4.1 逻辑运算 292.4.2 逻辑函数 312.5 数值数据类型 392.5.1 整数 392.5.2 浮点数 422.5.3 整型浮点数间的操作函数 432.5.4 复数 442.6 函数和特殊函数简明介绍 462.7 课后练习 47第3章 数组 493.1 一维数组的创建 503.2 多维数组的创建 523.3 数组的运算 553.4 常用的标准数组 563.5 低维数组的寻址和搜索 583.6 低维数组的处理函数 623.7 高维数组的处理和运算 643.8 课后练习 66第4章 Matlab数学运算 674.1 极限、导数与微分 684.1.1 极限 684.1.2 导数与微分 684.2 积分 724.2.1 一元函数的积分 734.2.2 二元及三元函数的数值积分 764.3 化简、提取与替换代入 794.3.1 化简 794.3.2 提取与替换代入 824.4 级数求和 854.4.1 symsum(s) 854.4.2 symsum(s,v) 854.4.3 symsum(s,v,a,b) 864.5 泰勒、傅里叶级数展开 874.5.1 一元函数泰勒展开 874.5.2 多元函数的完全泰勒展开 894.5.3 傅里叶级数展开 904.6 多重积分 904.6.1 二重积分 914.6.2 三重积分 924.7 课后练习 93第5章 字符串、单元数组和结构体 955.1 字符串操作 965.1.1 Matlab中的字符串符号 965.1.2 一般通用字符串操作 985.1.3 字符串比较操作 1015.1.4 字符串与数值间的相互转换 1065.1.5 进制间的转换 1085.2 单元数组和结构体 1105.2.1 单元数组的创建和操作 1105.2.2 单元数组函数 1135.2.3 结构体创建 1145.2.4 结构体函数 1155.3 课后练习 117第6章 Matlab编程 1196.1 M文件编辑器 1206.1.1 运行M文件编辑器 1206.1.2 设置M文件编辑器的属性 1216.2 M文件和P文件 1226.2.1 M文件函数文件 1226.2.2 M文件脚本文件 1236.2.3 M文件规则与属性 1266.2.4 P文件及操作 1266.3 Matlab编程的构件 1276.3.1 变量 1276.3.2 变量的检测、传递 1286.3.3 运算关系与运算符号 1306.3.4 关键字 1346.3.5 指令行 1346.3.6 常见函数 1346.4 数据流结构 1366.4.1 顺序结构 1366.4.2 if和switch选择结构 1376.4.3 for和while循环结构 1406.4.4 try-catch容错结构 1426.4.5 其他数据流结构 1436.5 控制命令 1446.5.1 continue和break命令 1446.5.2 return和pause命令 1466.5.3 input和keyboard命令 1476.5.4 error和warning命令 1486.6 课后练习 149第7章 符号及其运算 1517.1 符号变量的创建 1527.1.1 字符型数据变量的创建 1527.1.2 符号型数据变量的创建 1537.1.3 符号变量的基本操作 1547.2 符号表达式与符号方程创建 1567.2.1 符号表达式的创建 1567.2.2 符号方程的创建 1587.2.3 符号表达式的操作 1587.3 符号矩阵的创建 1637.3.1 用sym命令直接创建符号矩阵 1647.3.2 由数值矩阵转换为符号矩阵 1647.3.3 利用矩阵元素的通式创建符号矩阵 1657.3.4 符号矩阵及符号数组的运算 1667.4 符号微积分 1717.4.1 符号极限 1717.4.2 符号微分和求导 1727.4.3 符号积分 1737.5 符号积分变换 1757.5.1 Fourier变换及其逆变换 1757.5.2 Laplace变换及其逆变换 1767.5.3 Z变换及其反变换 1777.6 符号代数方程求解 1797.7 符号微分方程求解 1807.8 图示化符号函数计算器 1817.8.1 单变量符号函数计算器 1817.8.2 泰勒级数逼近计算器 1847.9 课后练习 185第8章 图形绘制 1878.1 基本绘图命令 1888.1.1 图形窗口简介 1888.1.2 基本绘图操作 1928.1.3 图形注释 1948.1.4 特殊函数 1968.2 二维绘图 2008.2.1 二维绘图命令 2008.2.2 交互式绘图操作 2038.3 三维绘图 2048.3.1 三维绘图命令 2048.3.2 三维绘图改进命令 2078.3.3 三维视图的可视效果控制 2098.3.4 三维图形的光照控制 2108.3.5 柱面和球面的表达 2128.4 课后练习 214第9章 Matlab 句柄图形系统 2159.1 句柄图形基础 2169.1.1 图形对象概述 2169.1.2 图形对象句柄 2189.1.3 图形对象属性 2199.2 图形对象的创建 2249.2.1 创建图形窗口对象 2249.2.2 创建坐标轴对象 2279.2.3 创建曲线对象 2299.2.4 创建文字对象 2309.2.5 创建曲面对象 2319.2.6 核心图形对象 2329.3 句柄图形对象的基本操作 2369.3.1 设置查询图形对象属性 2369.3.2 设置对象的默认属性操作 2379.3.3 高层绘图对象操作 2409.4 课后练习 242第10章 图形用户界面GUI设计 24310.1 图形用户界面GUI设计过程 24410.1.1 设计的一般步骤以及原则 24410.1.2 GUI设计的基本方式 24410.2 使用GUIDE创建GUI 24610.2.1 GUIDE概述 24610.2.2 启动GUIDE 24610.2.3 GUI的设计窗口简介 24810.2.4 使用GUIDE创建GUI的步骤 25310.3 M文件创建GUI 26210.4 课后练习 266第11章 Simulink基础 26711.1 Simulink的基础操作 26811.1.1 Simulink概述 26811.1.2 Simulink安装步骤 26811.1.3 Simulink启动方式 26911.1.4 模型窗口的菜单栏 27011.2 Simulink仿真系统操作步骤 27411.2.1 启动添加Simulink 模块库 27411.2.2 设置模块属性 27511.2.3 模块连接 27611.2.4 运行系统输出结果 27611.3 Simulink的模块库 27611.3.1 Simulink的公共模块库 27711.3.2 Simulink的专业模块库 28511.4 Simulink模块的基本操作 29011.4.1 Simulink模型的工作原理 29011.4.2 模块的选定复制 29211.4.3 模块大小改变与旋转 29311.4.4 模块颜色的改变与名的改变 29411.4.5 模块参数设置 29611.4.6 连线分支与连线改变 29711.4.7 信号组合 29911.5 模型注释 29911.6 设置Simulink仿真系统界面 30011.6.1 模块框图属性编辑 30011.6.2 信号标签与标签传递 30211.7 仿真运行过程 30411.7.1 运行仿真 30411.7.2 仿真参数设置 30511.7.3 示波器的使用 31011.8 Simulink连续系统建模 31111.8.1 线性系统建模 31111.8.2 非线性系统建模 31811.9 课后练习 319第12章 文件和数据的导入与导出 32112.1 低级文件I/O介绍 32212.2 文件打开和关闭 32212.2.1 打开文件 32212.2.2 关闭文件 32412.3 数据的读写 32512.3.1 读取TXT文件 32512.3.2 写入二进制文件 33512.4 文件的定位和文件的状态 33812.5 高级文件I/O介绍 34212.5.1 Mat文件操作 34212.5.2 图像、声音、影片格式文件的 操作 34512.6 课后练习 348