描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302518396丛书名: 科学与工程计算技术丛书
本书是基于当今流行的MATLAB R2016a和Simulink 8.7平台编写的,由教授不同专业课程的多名高校教师十余年从事MATLAB课程教学、课程改革、毕业设计指导和MATLAB科学研究的基础上编著而成。本书具有以下特点:
(1)内容编排科学合理。本书采用先基础后应用,先理论后实践的方式,由浅入深、循序渐进地编排内容,便于读者学习和掌握MATLAB/Simulink。
(2)内容翔实,实例丰富。本书融合编者多年的MATLAB教学和使用经验,不仅详细介绍了*的MATLAB/Simulink版本基本内容,而且列举了丰富的例题和应用实例,便于读者更好掌握MATLAB各种函数和命令。
(3)理论与应用有机结合。本书前8章介绍MATLAB/Simulink基础理论知识,每章*后两节都给出应用实例和综合实例。第9到第17章专门介绍MATLAB/Simulink在电子、通信、自动化、电气、计算机等相关学科领域中的应用。
(4)语言通俗,简单易学。本书语言通俗易懂,通过近400个应用实例的详细讲解,指导读者更好地应用MATLAB解决专业领域的实际问题。
本书全面、系统地介绍MATLAB/Simulink的基础知识,以及MATLAB/Simulink在图像处理、信息处理、优化与控制系统、通信系统和电力电子系统中的应用。全书以当今流行的MATLAB R2016a和Simulink 8.7为平台,也适用于其他更高级版本(MATLAB R2017和MATLAB R2018等),结合高等学校不同专业教师的丰富教学经验和科学研究,详细介绍了MATLAB/Simulink的开发环境、程序设计、系统仿真和案例实战。本书的特色是注重MATLAB/Simulink的基础以及MATLAB/Simulink与电子、通信、自动化、电气、计算机等相关学科领域应用相结合,强调基础,兼顾应用; 内容编排合理科学,先基础,后应用,由浅入深,循序渐进; 内容翔实,例题新颖,应用实例丰富,便于读者学习和掌握MATLAB/Simulink。 全书内容包含六部分,即MATLAB基础篇、MATLAB高级篇、MATLAB信号处理篇、MATLAB通信系统篇、MATLAB优化与控制篇和MATLAB电力电子篇,共17章,内容包括MATLAB语言概述、矩阵及其运算、程序结构和M文件、数值计算、符号运算、数据可视化、Simulink仿真基础、MATLAB图形用户界面、MATLAB在数字图像处理中的应用、MATLAB在信号与系统中的应用、MATLAB在数字信号处理中的应用、MATLAB在语音信号处理中的应用、MATLAB在通信系统中的应用、MATLAB在优化中的应用、MATLAB在控制系统中的应用、MATLAB在电子电路中的应用和Simulink在电力系统中的应用。内容涉及MATLAB/Simulink在电子、电气、自动化、通信、计算机等信息类相关学科领域的应用,能满足一般用户使用的各种功能需求。 本书既可作为初学者的入门用书,也可作为高等院校理工科专业尤其是电子信息工程、电子科学与技术、自动化、电气工程及其自动化、通信工程和计算机科学与技术等专业的本科生教学用书,还可作为研究生、科研与工程技术人员的参考用书。
第一部分MATLAB基础篇
第1章MATLAB语言概述
1.1MATLAB语言的发展
1.2MATLAB语言的特点
1.3MATLAB语言的环境
1.3.1MATLAB语言的安装
1.3.2MATLAB语言的界面简介
1.4MATLAB帮助系统
1.4.1help查询帮助函数
1.4.2lookfor查询帮助函数
1.4.3联机帮助系统
1.5MATLAB数据类型
1.5.1常量和变量
1.5.2整数和浮点数
1.5.3复数
1.6MATLAB运算符
1.6.1算术运算符
1.6.2关系运算符
1.6.3逻辑运算符
1.6.4优先级
1.7应用实例
1.8综合实例
1.9本章小结
第2章MATLAB矩阵及其运算
2.1矩阵的创建
2.1.1直接输入矩阵
2.1.2冒号生成矩阵
2.1.3利用函数生成矩阵
2.1.4利用文本文件生成矩阵
2.1.5利用M文件生成矩阵
2.1.6特殊矩阵的生成
2.2矩阵的修改
2.2.1矩阵部分替换
2.2.2矩阵部分删除
2.2.3矩阵部分扩展
2.2.4矩阵结构变换
2.3矩阵的基本运算
2.3.1矩阵的加减运算
2.3.2矩阵的乘法运算
2.3.3矩阵的除法运算
2.3.4矩阵的乘方运算
2.3.5矩阵的点运算
2.4矩阵分析
2.4.1方阵的行列式
2.4.2矩阵的秩和迹
2.4.3矩阵的逆和伪逆
2.4.4矩阵的特征值和特征向量
2.4.5矩阵的分解
2.4.6矩阵的信息获取函数
2.5字符串
2.5.1字符串的创建
2.5.2字符串的操作
2.5.3字符串转换
2.6多维数组
2.6.1多维数组的创建
2.6.2多维数组的操作
2.7结构数组和元胞数组
2.7.1结构数组
2.7.2元胞数组
2.8矩阵及其运算应用实例
2.9矩阵及其运算综合实例
2.9.1矩阵在图像处理中的应用
2.9.2线性方程组的求解
2.9.3多维数组在彩色图像中的应用
2.10本章小结
第3章MATLAB程序结构和M文件
3.1程序结构
3.1.1顺序结构
3.1.2选择结构
3.1.3循环结构
3.1.4程序控制命令
3.2M文件
3.2.1M文件的分类和特点
3.2.2M文件的创建和打开
3.3M函数文件
3.3.1M函数文件的格式
3.3.2M函数文件的调用
3.3.3主函数和子函数
3.3.4函数的参数
3.3.5函数的变量
3.4程序调试
3.4.1命令窗口调试
3.4.2MATLAB菜单调试
3.4.3MATLAB调试函数
3.5程序结构和M文件应用实例
3.6程序结构和M文件综合实例
3.7本章小结
第4章MATLAB数值计算
4.1多项式
4.1.1多项式的创建
4.1.2多项式的值和根
4.1.3多项式的四则运算
4.1.4多项式的微积分运算
4.1.5多项式的部分分式展开
4.2数据插值
4.2.1一维插值
4.2.2二维插值
4.2.3多维插值
4.3数据拟合
4.4数据统计
4.4.1矩阵元素的最大值和最小值
4.4.2矩阵元素的平均值和中值
4.4.3矩阵元素的排序
4.4.4矩阵元素求和与求积
4.4.5矩阵元素的累加和与累乘积
4.4.6标准方差和相关系数
4.5数值计算
4.5.1函数极值
4.5.2函数零点
4.5.3数值差分
4.5.4数值积分
4.5.5常微分方程求解
4.6数值计算应用实例
4.7数值计算综合实例
4.8本章小结
第5章MATLAB符号运算
5.1MATLAB符号运算的特点
5.2MATLAB符号对象的创建和使用
5.3符号多项式函数运算
5.3.1多项式函数的符号表达形式及相互转换
5.3.2符号多项式的向量表示形式及其计算
5.3.3反函数和复合函数求解
5.4符号微积分运算
5.4.1函数的极限和级数运算
5.4.2符号微分运算
5.4.3符号积分运算
5.5符号方程求解
5.5.1符号代数方程求解
5.5.2符号常微分方程求解
5.5.3一维偏微分方程求解
5.6符号运算应用实例
5.7符号运算综合实例
5.7.1符号函数可视化应用
5.7.2符号积分应用
5.7.3符号卷积应用
5.7.4符号积分变换应用
5.8本章小结
第二部分MATLAB高级篇
第6章MATLAB数据可视化
6.1概述
6.2二维曲线的绘制
6.2.1绘图基本函数
6.2.2线性图格式设置
6.2.3图形修饰
6.2.4图形保持
6.2.5多个图形绘制
6.3二维特殊图形的绘制
6.3.1柱状图
6.3.2饼形图
6.3.3直方图
6.3.4离散数据图
6.3.5向量图
6.3.6极坐标图
6.3.7对数坐标图
6.3.8双纵坐标绘图
6.3.9函数绘图
6.4三维曲线和曲面的绘制
6.4.1绘制三维曲线图
6.4.2绘制三维曲面图
6.4.3特殊的三维图形
6.4.4绘制动画图形
6.5MATLAB图形窗口
6.6数据可视化应用实例
6.7数据可视化综合实例
6.8本章小结
第7章Simulink仿真基础
7.1Simulink概述
7.1.1Simulink的基本概念
7.1.2Simulink模块的组成
7.1.3Simulink中的数据类型
7.2Simulink的使用
7.2.1Simulink的启动和退出
7.2.2在Simulink的窗口创建一个新模型
7.2.3Simulink模块的操作
7.2.4Simulink的建模和仿真
7.3Simulink的模块库及模块
7.3.1Commonly Used Blocks子模块库
7.3.2Continuous子模块库
7.3.3Dashboard子模块库
7.3.4Discontinuous子模块库
7.3.5Discrete子模块库
7.3.6Logic and Bit Operations子模块库
7.3.7Lookup Tables子模块库
7.3.8Math Operations子模块库
7.3.9Model Verification子模块库
7.3.10ModelWide Utilities子模块库
7.3.11Ports & Subsystems子模块库
7.3.12Signals Attributes子模块库
7.3.13Signals Routing子模块库
7.3.14Sinks子模块库
7.3.15Sources子模块库
7.3.16Userdefined Functions子模块库
7.4Simulink模块操作及建模
7.4.1Simulink模型
7.4.2Simulink模块的基本操作
7.4.3系统模型注释与信号标签设置
7.4.4Simulink建模
7.5Simulink模块及仿真参数设置
7.5.1模块参数设置
7.5.2Simulink仿真参数设置
7.6过零检测和代数环
7.6.1过零检测
7.6.2代数环
7.7Simulink仿真基础应用实例
7.8Simulink仿真基础综合实例
7.9本章小结
第8章MATLAB图形用户界面
8.1图形用户界面简介
8.1.1GUI的设计原则及步骤
8.1.2GUI设计窗口的打开、关闭和保存
8.1.3GUI的模板
8.2控制框常用对象及功能
8.2.1GUI按钮
8.2.2GUI滑块
8.2.3GUI单选按钮
8.2.4GUI复选框
8.2.5GUI可编辑文本和静态文本
8.2.6GUI弹出式菜单
8.2.7GUI列表框
8.2.8GUI切换按钮
8.2.9GUI轴
8.3GUI菜单的设计
8.3.1使用菜单编辑器创建菜单
8.3.2使用句柄对象创建菜单
8.4GUI设计实例
8.4.1曲线修饰演示系统
8.4.2图像预处理演示系统
8.5本章小结
第三部分MATLAB信号处理篇
第9章MATLAB在数字图像处理中的应用
9.1数字图像的读取、显示和存储
9.1.1图像的读取
9.1.2图像的显示
9.1.3图像文件的存储
9.2数字图像的类型及转换
9.2.1图像类型
9.2.2图像转换
9.3图像的基本运算
9.3.1图像的代数运算
9.3.2图像的几何运算
9.4图像增强
9.4.1图像的直方图
9.4.2图像的灰度调整增强
9.4.3图像的直方图均衡增强
9.5图像滤波
9.5.1基于卷积的图像滤波函数filter2以及imfilter
9.5.2中值滤波
9.5.3二维统计顺序滤波
9.5.4自适应滤波
9.6图像边缘检测
9.7图像压缩
9.8本章小结
第10章MATLAB在信号与系统中的应用
10.1信号及表示
10.1.1连续信号的表示
10.1.2几种连续信号产生函数
10.1.3离散信号的表示
10.1.4几种离散信号产生函数
10.2信号的基本运算
10.2.1信号的相加和相乘
10.2.2序列延时与周期拓展
10.2.3序列反转与累加
10.2.4两序列卷积运算
10.3信号的能量和功率
10.4线性时不变系统的创建
10.4.1常系数线性微分/差分方程
10.4.2系统函数的标准模型
10.4.3系统函数的零极点增益模型
10.4.4系统函数的二次分式模型
10.4.5系统函数的部分分式模型
10.4.6线性时不变系统的创建函数和系统函数模型转换函数
10.5线性时不变系统的时域分析
10.5.1LTI系统零输入响应的数值求解
10.5.2LTI系统零状态响应的数值求解
10.5.3LTI系统响应的符号求解
10.5.4LTI系统的单位冲激响应和单位阶跃响应
10.6线性时不变系统的频域分析
10.6.1连续时间LTI系统的频域分析
10.6.2离散时间LTI系统的频域分析
10.7本章小结
第11章MATLAB在数字信号处理中的应用
11.1傅里叶变换
11.1.1时间连续频率连续的傅里叶变换
11.1.2时间连续频率离散的傅里叶级数
11.1.3时间离散频率连续的序列傅里叶变换
11.1.4时间离散频率离散的离散傅里叶变换(DFT)
11.1.5计算离散傅里叶变换的常用函数
11.2IIR数字滤波器的设计
11.2.1脉冲响应不变法
11.2.2双线性变换法
11.3FIR数字滤波器的设计
11.3.1窗函数法
11.3.2频率抽样法
11.4本章小结
第12章MATLAB在语音信号处理中的应用
12.1语音产生过程
12.2语音信号的特点及数字化
12.2.1语音信号的特点
12.2.2语音信号的数字化
12.3语音信号产生的数字模型
12.3.1激励模型
12.3.2声道模型
12.3.3辐射模型
12.3.4描述语音信号的完整数字模型
12.3.5语音信号的预处理
12.4MATLAB在语音信号分析和处理中的应用
12.4.1语音信号的采集
12.4.2语音信号的读取与打开
12.4.3语音信号的分析
12.4.4含噪语音信号的合成
12.4.5语音信号处理中滤波器的设计
12.5MATLAB在语音信号处理中的应用实例
12.6本章小结
第四部分MATLAB通信系统篇
第13章MATLAB在通信系统中的应用
13.1MATLAB通信工具箱的组成
13.2信息量度与信源编码
13.2.1信息的量度计算
13.2.2模拟信号量化和数字化
13.2.3信源编码
13.3差错控制和信道编码
13.3.1线性分组码编解码
13.3.2交织编码
13.3.3扰码与解扰
13.4模拟调制与解调
13.4.1幅度调制与解调
13.4.2角度调制与解调
13.5数字调制与解调
13.5.1数字调制
13.5.2数字解调
13.6数字通信系统性能仿真
13.6.1数字信号的比特能量与AWGN信道
13.6.2数字通信系统的误码率仿真
13.7本章小结
第五部分MATLAB优化与控制篇
第14章MATLAB在优化中的应用
14.1最优化问题简介
14.2MATLAB优化工具箱
14.2.1优化工具箱中的优化函数
14.2.2优化参数的创建和编辑
14.2.3优化函数的演示GUI
14.3线性规划
14.3.1线性规划的数学模型
14.3.2MATLAB线性规划函数
14.3.3线性规划的应用
14.4非线性规划
14.4.1单变量非线性优化
14.4.2无约束非线性规划
14.4.3约束非线性规划
14.4.4二次规划
14.5目标规划
14.5.1多目标优化
14.5.2最大最小化优化
14.6优化工具箱图形界面应用
14.6.1优化工具箱图形界面
14.6.2图形界面应用
14.7本章小结
第15章MATLAB在控制系统中的应用
15.1控制系统的模型描述
15.1.1控制系统的模型与表达式
15.1.2控制系统模型间的关系
15.2控制系统的时域分析与MATLAB实现
15.2.1线性系统的稳定性分析
15.2.2控制系统的动态响应
15.2.3控制系统的时域响应指标
15.3控制系统的频域分析与MATLAB实现
15.3.1控制系统的频域分析
15.3.2控制系统的频域分析性能指标
15.4控制系统的根轨迹分析
15.4.1控制系统的根轨迹分析
15.4.2根轨迹设计工具
15.5控制系统的状态空间分析
15.5.1状态空间的线性变换
15.5.2状态空间的能控性和能观性
15.5.3状态空间的状态反馈与极点配置
15.6控制系统综合实例与应用设计
15.6.1控制系统综合实例
15.6.2简单运动系统的建模及仿真
15.6.3“弹簧质量阻尼”系统的建模及仿真
15.6.4单容过程系统的建模及仿真
15.7本章小结
第六部分MATLAB电力电子篇
第16章MATLAB在电子电路中的应用
16.1MATLAB在电路分析中的应用
16.1.1二阶电路原型
16.1.2二阶电路数学模型
16.1.3二阶电路的建模及仿真
16.2Simulink在模拟电路中的应用
16.2.1模拟电路的建模
16.2.2模拟电路的仿真参数设定与运行
16.2.3模拟电路的稳态分析
16.2.4模拟电路的暂态分析
16.2.5模拟电路的频域分析
16.3Simulink在数字电路中的应用
16.3.1二进制加法器
16.3.28421编码器
16.4本章小结
第17章Simulink在电力系统中的应用
17.1Powergui模块
17.1.1Simulation Type(仿真类型)
17.1.2Analysis Tools(分析工具)
17.2二极管模块
17.2.1图标与接口
17.2.2参数设置
17.3晶闸管模块
17.3.1图标与接口
17.3.2参数设置
17.4直流电机模块
17.4.1直流电机仿真模型
17.4.2直流电机仿真
17.5异步电机模块
17.6同步电机模块
17.6.1简化的同步电机模块
17.6.2同步电机模块的使用
17.7负荷模块
17.7.1静态负荷模块
17.7.2三相动态负荷模块
17.8电力系统稳态仿真
17.8.1连续系统仿真
17.8.2离散系统仿真
17.9电力系统电磁暂态仿真
17.9.1断路器模块
17.9.2三相故障模块
17.9.3电力系统电磁暂态分析
17.10本章小结
参考文献
MATLAB由MathWorks公司开发,目前已经发展成为国际上最流行、应用最广的科学计算软件之一。MATLAB软件具有强大的矩阵计算、数值计算、符号计算、数据可视化和系统仿真分析等功能,广泛应用于科学计算、信号处理、图像处理、通信系统、信号检测、控制设计、仿真分析、金融建模设计与分析等领域,也是线性代数、高等数学、概率论与数理统计、大学物理、数字信号处理、信号与系统、数字图像处理、自动控制原理、时间序列分析、动态系统仿真等课程的基本教学工具。近些年来,MATLAB已经成为国内外众多高校本科生和研究生的课程,是学生必须掌握的基本编程语言之一,也是教师、科研人员和工程师进行教学、科学研究和研究开发的基本工具。
1. 本书特点
本书是基于当今流行的MATLAB R2016a和Simulink 8.7平台编写的,也适用于其他更高级版本(MATLAB R2017和MATLAB R2018等),是由不同专业的多名高校教师在十余年从事MATLAB课程教学、课程改革、毕业设计指导和利用MATLAB进行科学研究的基础上编著而成的。本书具有以下特点。
(1) 内容编排合理科学。先基础后应用,先理论后实践,由浅入深,循序渐进地进行编排,便于读者学习和掌握MATLAB/Simulink。
(2) 内容翔实,例题新颖。本书结合编者多年的MATLAB教学和使用经验,详细介绍了最新的MATLAB/Simulink版本基本内容,列举了丰富的例题和应用实例,便于读者更好地掌握MATLAB各种函数和命令。
(3) 理论与应用有机结合。本书前8章介绍MATLAB/Simulink基础内容,每章最后两节都给出应用实例和综合实例。第9章到第17章详细介绍了MATLAB/Simulink在电子、通信、电气、自动化和计算机等相关学科领域中的应用。
(4) 实例丰富,简单易学。本书用通俗易懂的语言介绍了MATLAB/Simulink基础内容,全书通过近400个应用实例的详细讲解,指导读者更好地应用MATLAB解决专业领域的实际应用问题。
2. 本书内容
全书内容包含六部分,即MATLAB基础篇、MATLAB高级篇、MATLAB信号处理篇、MATLAB通信系统篇、MATLAB优化与控制篇和MATLAB电力电子篇,共17章。MATLAB基础篇包括: 第1章MATLAB语言概述,主要介绍MATLAB语言的发展、特点、环境、帮助系统、数据类型和运算符; 第2章MATLAB矩阵及其运算,主要介绍矩阵的创建、修改和基本运算,矩阵分析,字符串,多维数组,结构数组和元胞数组; 第3章MATLAB程序结构和M文件,主要介绍MATLAB程序结构、M文件、M函数文件和程序调试; 第4章 MATLAB数值计算,主要介绍多项式运算、数据插值、数据拟合、数据统计和数值计算; 第5章 MATLAB符号运算,主要介绍符号定义,符号运算,符号极限,符号微分和积分。MATLAB高级篇包括: 第6章 MATLAB数据可视化,主要介绍MATLAB二维曲线绘制,二维特殊图形绘制,三维曲线和曲面绘制; 第7章 Simulink仿真基础,主要介绍Simulink的基本概念、模块组成、常用模块、模块编辑和Simulink仿真; 第8章MATLAB图形用户界面,主要介绍图形用户界面,GUI控制框常用对象及功能,GUI菜单的设计方法和GUI设计实例。 MATLAB信号处理篇主要包括: 第9章MATLAB在数字图像处理中的应用; 第10章MATLAB在信号与系统中的应用; 第11章MATLAB在数字信号处理中的应用; 第12章MATLAB在语言信号处理中的应用。MATLAB通信系统篇包括第13章MATLAB在通信系统中的应用。MATLAB优化与控制篇包括: 第14章MATLAB在优化中的应用; 第15章MATLAB在控制系统中的应用。MATLAB电力电子篇包括: 第16章MATLAB在电子电路中的应用; 第17章Simulink在电力系统中的应用。
3. 本书读者
本书既可作为初学者的入门用书,也可作为高等院校理工科专业,尤其是电子信息工程、电子科学与技术、自动化、电气工程及其自动化、通信工程和计算机科学与技术等专业的教学用书,也可作为研究生、科研与工程技术人员的参考用书。
(1) MATLAB/Simulink的初学者。
(2) MATLAB/Simulink的爱好者。
(3) MATLAB/Simulink的提高人员。
(4) MATLAB/Simulink相关从业人员。
(5) 高等院校理工科专业师生。
(6) 广大科研工作人员。
4. 本书作者
本书由广东海洋大学的徐国保主编。第1章至第4章、第6章、第8章和第9章由电子信息工程专业的徐国保编写; 第7章、第15章至第17章由广东海洋大学电气工程及其自动化专业的张冰编写; 第10章至第12章由广东海洋大学通信工程专业的石丽梅编写; 第5章、第13章和第14章由广东海洋大学通信工程专业的吴凡编写。为了确保本书的质量,应用部分均由教学经验丰富的相关专业任课教师编写。本书的编写思路与内容选择由编者集体讨论确定,全书由徐国保负责统稿和定稿。
在本书的编写过程中,参考和引用了相关教材和资料,在此一并向教材和资料的作者表示诚挚的谢意。赵霞参与了资料收集和校稿工作,本书也得到清华大学出版社高级策划编辑盛东亮的指导和帮助,在此表示感谢!
为了便于读者学习,全书附有所有应用实例和综合实例的源代码。为了方便教师教学,本书配有教学课件和所有图片素材,欢迎选用本书作为教材的老师索取,联系邮箱为[email protected]。
由于编者水平有限,书中难免存在不妥之处,欢迎使用本书的读者批评指正,以便再版时改进和提高,共同促进本书质量的提高。
编者2019年1月
★《MATLAB/Simulink权威指南:开发环境、程序设计、系统仿真与案例实战》通过400多个应用实例和综合实例介绍,使读者能快速掌握MATLAB/Simulink的基础知识和应用技术,是一部非常实用,值得阅读的参考书。
——黄念微 中山大学
★《MATLAB/Simulink权威指南:开发环境、程序设计、系统仿真与案例实战》详细介绍MATLAB/Simulink的开发环境、程序设计和系统仿真等各方面内容,全书共17章,600多页,是一部MATLAB/Simulink内容十分丰富的著作。
——尹怡欣 北京科技大学
★《MATLAB/Simulink权威指南:开发环境、程序设计、系统仿真与案例实战》是由多名不同专业长期从事MATLAB课程教学、课程实践、课程改革和科学研究的教师编著而成,是一本学习MATLAB/Simulink的权威指南,强烈推荐。
——杨晓光 华为技术有限公司
★《MATLAB/Simulink权威指南:开发环境、程序设计、系统仿真与案例实战》前半部分深入浅出地介绍MATLAB/Simulink基础知识,后半部分紧密联系实际应用,介绍MATLAB/Simulink在电子、通信、自动化、电气和计算机等学科领域中的应用,是一本不可多得的学习MATLAB/Simulink的经典读物!
——陈天多 中国平安集团股份有限公司
★《MATLAB/Simulink权威指南:开发环境、程序设计、系统仿真与案例实战》内容是按照先基础后应用,先理论后实践,由浅入深,循序渐进科学编排,便于初学者学习和掌握MATLAB/Simulink。对于从事MATLAB/Simulink开发的技术人员,也同样具有很好的参考价值。
——张利兵 西门子(中国)有限公司
第3章MATLAB程序结构和M文件
本章要点:
程序结构;
M文件;
M函数文件;
程序调试。
MATLAB R2016a和其他高级编程语言(如C语言和FORTRAN语言)一样,要实现复杂的功能需要编写程序文件和调用各种函数。
3.1程序结构
MATLAB语言有三种常用的程序控制结构: 顺序结构、选择结构和循环结构。MATLAB语言里的任何复杂程序都可以由这三种基本结构组成。
3.1.1顺序结构
顺序结构是MATLAB语言程序的最基本的结构,是指按照程序中的语句排列顺序依次执行,每行语句是从左往右执行,不同行语句是从上往下执行。一般数据的输入和输出、数据的计算和处理程序都是顺序结构。顺序结构的基本流程如图31所示,程序先执行语句A,然后执行语句B,最后执行语句C。
图31顺序结构流程图
1. 数据的输入
MATLAB语言要从键盘输入数据,可以使用input函数,该函数的调用格式有如下两种。
1) x=input(‘提示信息’)
其中,提示信息表示字符串,用于提示用户输入什么样的数据,等待用户从键盘输入数据,赋值给变量x。
例如,从键盘中输入变量x,可以用下面的命令实现:
>> x=input(‘输入变量 x: ‘)
输入变量 x: 3
x =
3
执行该语句时,命令行窗口显示提示信息“输入变量x: ”,然后等待用户从键盘输入x的值。
2) str=input(‘提示信息’,’s’)
其中,该格式用于用户输入一个字符串,赋值给字符变量str。
例如,用户想从键盘输入自己的名字,赋值给字符变量str,可以采用下面命令:
>>str=input(‘what ”s your name?’,’s’)
what ‘s your name?XuGuobao
str =
XuGuobao
执行该语句时,命令行窗口显示提示信息“what ‘s your name?”,然后等待用户从键盘输入字符变量str的值。
2. 数据的输出
MATLAB语言可以在命令窗口显示输出信息,可以用函数disp实现,该函数的调用格式如下:
disp(‘输出信息’)
其中,输出信息可以是字符串,也可以是矩阵信息。例如:
>>disp(‘What ”s your name? ‘)
disp(‘My name is XuGuobao’)
What ‘s your name?
My name is XuGuobao
>> A=[1 2;3 4];
>>disp(A)
12
34
需要注意,用disp函数显示矩阵信息将不显示矩阵的变量名,输出格式更紧凑,没有空行。
评论
还没有评论。