
本书以最新的MATLAB R2019b为基础,简要介绍了MATLAB语言的程序设计及应用,主要包括它的数据结构与程序设计基础、二维与三维绘图、MATLAB语言在现代科学运算中的应用、SIMULINK的基本使用等知识。通过详实的例题及特别强调的上机实践部分,使学生经过较短时间的学习,就能有效地掌握MATLAB的编程和使用技巧。
《MATLAB语言及实践教程》面世已近15年,虽说印过几万册,近年来竟然一册难求,以至于一些读者求诸于二手市场。由于MATLAB软件不断发展,版本不断更新,本书第2版中的很多叙述已经不符合软件实际,给读者学习造成了一定困难,尽管如此,本书在2020年1月又不得不加印了一次,以应对需求。
十多年来,我的工作领域发生了很大变动,不再有机会使用MATLAB软件和讲授MATLAB课程,退休以后更对这个软件和本书失去了接触,没有能够随着软件的不断发展而与时俱进,为读者提供更合适的书,对此深感愧疚。
然而,本书的需求情况又给了我极大的鼓励,决心抖擞精神把本书再更新一版。这一想法得到了我们团队成员的大力支持,万分感谢他们于百忙之中加倍努力,深入MATLAB最新版本的环境,逐条验证本书中用到的命令和函数,促成了本书第3版的推出。这些年来他们都担当了更重要的教学科研及组织领导工作,这次能够沉下心来,做最基础细致的工作,体现了责任与担当,实属难能可贵。
在本书第3版中,我们对第2版中的叙述作了较为彻底的修订,把全部程序语句描述和例题都统一到MATLAB R2019b版本之下,为每一章的上机实践习题做了部分修改或增删,并根据需求增编了第7章“MATLAB解析运算初步”。此次修订工作,第1至4章由邱成完成, 第5、6、8章由齐红元完成,朱衡君编写第7章并负责总纂定稿。
编者再次对广大读者的关心与厚爱、出版社朋友的指导与建议、教学团队老师的身体力行及教材编写同仁的辛勤劳作致以衷心的感谢和崇高的敬意!对于这本小书的迟到,再次向读者们致以深深的歉意。
MATLAB从1984年诞生至今36年来,集成了世界多国精英的智慧与贡献,国内有马秀莲、庞希坚、薛定宇等先行者努力推出,近年又有中国新秀加盟MathWorks从事英汉翻译工作,使得我们有了更便捷的工作条件,加之本书定位是入门普及,适应软件新版的工作都是依靠软件本身的在线帮助文档完成的,因此本书没有对之前的同类文献逐条列举,谨在此对所有的开拓者和传播者致以崇高的敬意!
为了方便读者使用本书,我们将本书中用到的程序脚本、程序文件、解题需要的数据文件和习题参考答案都放在出版社的网站上,为购置本书的读者提供了一个下载网页,这样可以免去读者许多键盘输入的辛苦劳作、宝贵时间及输入错误带来的烦恼,请及早扫描扉页上的二维码,进入网页选择下载适用的文档。网页的安排是每书一码,请珍惜并保护读者个人的权益。
计算机硬件和操作系统的发展从来没有停止过,用户的计算机工作环境千姿百态,推陈出新;MATLAB的新版本以每年两次的速度持续推出,汉化工作不断完善,软件变化之大,出乎所料。面对这样的形势,尽管我们努力跟上时代步伐,然而百密一疏,难免出错,诚恳期望广大读者继续提出坦率的宝贵意见。
朱衡君hjzhu@bjtueducn2020年8月于北京交通大学
第1章MATLAB语言概述
11MATLAB语言简介
111MATLAB语言及其发展历程
112MATLAB语言的工具箱
12MATLAB基本功能演示
13上机实践
第2章MATLAB运行环境和编程工具
21MATLAB的使用界面
211工具栏
212路径栏
213当前文件夹
214命令行窗口
215工作区
216命令历史记录
22MATLAB的基本命令
221MATLAB命令编辑
222工作区和工作路径管理命令
223显示格式设定
224窗口清屏命令
225退出及保存工作环境
226标点符号的含义
23MATLAB的源程序编辑/调试工具
24MATLAB的联机帮助系统
25上机实践
第3章MATLAB语言程序设计基础
31MATLAB基本数据类型
311变量、常量与赋值语句结构
312矩阵的MATLAB表示
313构造多维数组
314字符串变量及其处理
32MATLAB语言的基本运算与输入输出
321矩阵的代数运算
322矩阵的逻辑运算
323矩阵的比较关系
324矩阵元素的数据变换
325输入与输出语句
33MATLAB语言的程序流程语句
331循环语句
332条件转移语句
333开关语句
34MATLAB语言的文件编写与调试
341程序文件
342函数文件
343MATLAB文件的跟踪调试
35MATLAB语言编程技巧
351测定程序执行时间和时间分配
352充分发挥速度和利用内存
36上机实践
第4章用MATLAB实现计算数据可视化
41用MATLAB语言绘制二维图形
411基本绘图语句
412绘图语句的选项
413图形标识和坐标控制
414交互式图形指令
42MATLAB句柄图形技术
421句柄图形体系
422多子图及坐标系句柄设定
423曲线对象句柄设定
424字符对象句柄设定
425使用图窗工具设定属性
43用MATLAB绘制多种二维图形
431多种二维图形绘制函数
432误差限图绘制函数
433复数图绘制函数
434条形图绘制函数
435极坐标图绘制函数
436对数坐标图绘制函数
44用MATLAB绘制三维图形
441绘制三维曲线图
442绘制标准三维曲面图
443绘制三维网格图
444绘制三维曲面图
45视角变换与三视图
451视角的设定
452三维图形的三视图
46上机实践
第5章用MATLAB进行数值运算
51解析运算与数值运算
52数值线性代数问题及求解
521特殊矩阵的MATLAB输入
522矩阵的特征参数运算
523矩阵的相似变换与分解
53数值积分与数值微分
531数值差分运算
532第一类问题的数值积分
533第二类问题的数值积分
54常微分方程的数值解法
541一般常微分方程的数值解法
542常微分方程组的变换与技巧
55数据插值与统计分析
551一维数据的插值拟合
552二维数据的插值拟合
553数据分析与统计处理
56优化
561有界优化器
562无界优化器
563最小二乘优化器
564方程求解器
57上机实践
第6章Simulink的基本用法
61Simulink模块库简介
611信号源模块集
612连续时间函数模块集
613离散时间函数模块集
614逻辑和位操作模块集
615数学运算模块集
616输出池模块集
617信号传送模块集
618不连续函数模块集
619其他模块集
62Simulink模型的建立与仿真
621模型窗口的建立和保存
622模块的有关操作
623Simulink模块的联机帮助系统
624Simulink模块的输出与打印
625模型仿真
63Simulink模型举例
64上机实践
第7章MATLAB解析运算初步
71基本的符号型要素
711符号型常数
712符号型变量
713符号型运算符
714符号型表达式
715符号型表达式的化简
716符号型变量名称的重新设定
717符号型函数
718符号型矩阵
72MATLAB解析运算
721符号型表达式的微分
722符号型表达式的积分
723求解符号型表达式的极限
724求解符号型代数方程及方程组
725求解符号型微分方程及微分方程组
726符号型表达式的代入求值
727符号型函数的绘图
728对符号型变量使用假设条件
729符号型对象与数值型对象的相互转化
73上机实践
第8章MATLAB与C语言的接口应用
81MATLAB外部接口概述
811mxArray 数据结构
812MATLAB 数据类型
813MATLAB与C语言接口的库函数
82C-MEX文件的实现
821C-MEX文件简介
822mex指令及环境建立
823C-MEX函数文件结构
83mx与MEX接口函数
831数值矩阵的创建
832字符串的创建
833逻辑数组的创建
834稀疏矩阵的创建
835MEX库函数
84上机实践
附录AMATLAB命令分类列表
A1MATLAB通用命令
A2运算符和逻辑函数
A3MATLAB编程与调试语句
A4数值与数组
A5数值线性代数
A6数椐分析与变换
A7MATLAB图形绘制与界面设计
A8句柄图形学
A9符号解析运算
A10MATLAB与C语言的接口应用
附录B本书中使用的命令和程序
B1MATLAB语言概述
B2MATLAB运行环境和编程工具
B3MATLAB语言程序设计基础
B4用MATLAB实现计算数据可视化
B5用MATLAB进行数值运算
B6Simulink的基本用法
B7MATLAB解析运算初步
B8MATLAB与C语言的接口应用
参考文献
本书是在作者多年的MATLAB教学和应用基础上编写的,内容准确可靠,例题丰富全面,上机实践精练独到。
朱衡君:1982年3月毕业于北方交通大学,1984年12月获北方交通大学硕士学位并留校任教。1988年至1994年留学英国,获Sussex大学博士学位。在北方交大受聘于助教、讲师、副教授、教授、博士生导师等教学岗位,历任副系主任、系主任、副院长、院长、国际合作交流处处长等行政职务。曾讲授“Fortran语言”、“Matlab语言”、“机电系统信号处理”、“动态测试技术”、“机械故障诊断学”、“工程图学”、留学生“科技汉语”等课程,获校“优秀主讲教师”称号。获国家发明三等奖、铁道部科技进步二等奖、湖北省科技进步三等奖及铁道部第四设计院科技进步二等奖各1次。2002年获政府特殊津贴。曾主持“机车随车牵引试验装置”、“转向架负载试验台”、“机车走行部轴承检测诊断系统”等科研项目。曾任教比利时Group T, International University College Leuven(现已并入 Katholieke Universiteit Leuven),并担任北京交通大学鲁汶孔子学院比方顾问院长。