《MATLAB/Simulink系统仿真超级学习手册》——第2章 MATLAB编程基础 2.1 MATLAB工作环境

简介:

本节书摘来自异步社区《MATLAB/Simulink系统仿真超级学习手册》一书中的第2章,第2.1节,作者:MATLAB技术联盟 , 石良臣著,更多章节内容可以访问云栖社区“异步社区”公众号查看

第2章 MATLAB编程基础

本书使用的MATLAB版本为MATLAB R。本章将较全面地介绍MATLAB正常运行的基本流程以及编程基础与技巧,帮助读者在领略MATLAB非凡能力的同时比较轻松地跨过MATLAB门槛,为后面学习MATLAB工具箱Simulink打下坚实的基础。

2.1 MATLAB工作环境

MATLAB/Simulink系统仿真超级学习手册
MATLAB提供了全新的工作环境,了解并熟悉该环境是使用MATLAB的基础。下面将介绍MATLAB主界面(包括工具栏、命令窗口等)、文本编辑窗口以及帮助的使用。

2.1.1 MATLAB主界面
安装完MATLAB R软件并重新启动计算机后,在Windows桌面上将出现MATLAB的软件图标图片 76。鼠标双击该图标,就可启动MATLAB的工作环境,显示默认的程序主界面,如图2-1所示。

screenshot

默认的程序主界面包括:菜单,工具栏,命令窗口,当前路径浏览器,工作空间浏览器,命令历史浏览器。这些功能子窗口使MATLAB的操作更容易、更方便。

注意:

(1)各功能子窗口是否显示以及如何显示完全由读者的需要和习惯决定,可以通过工具栏中图片 74Layout选项中对应的子选项进行选择。

如图2-2所示,SHOW下面的子选项打勾,说明对应的子窗口会显示在MATLAB主界面中,选择SELECT LAYOUT下面的子选项可以设置子窗口的布局方式。

screenshot

(2)读者也可以通过拖曳子窗口的方式来对MATLAB主界面进行布局。如图2-3所示,单击子窗口的标题栏并按住鼠标左键不放,整个子窗口会变成蓝色,这时可将该子窗口移动至主界面中其他任意位置,蓝色块窗口也会跟着移动,松开鼠标左键,主界面便会重新布局。
screenshot

(3)读者还可以将子窗口从MATLAB主界面中解锁出来,成为一个单独的窗口。如图2-4所示,单击子窗口标题栏右上角的图片 71Action图标,选择Undock子选项,Command Window命令窗口从主界面中解锁出来变成了一个单独的窗口。

screenshot

1.菜单
MATLAB R版本的菜单与其他通用软件开发环境有些不太一样的地方,它只有三个选项,分别是HOME、PLOT和APP。单击每个选项,下方都会出现不同的工具栏。HOME和PLOT是最常用的两个菜单。

2.HOME工具栏
该工具栏中有几个很重要的工具图标。

图片 68:New,创建新的文档。可以创建新的文本文件,实现MATLAB命令文件的输入、编辑、调试、保存等处理功能;也可以创建新的Figure图形文件,实现MATLAB图形文件的显示、编辑、保存等处理功能;还可以创建新的Simulink模型文件,实现Simulink仿真模型的建模、仿真、调试、保存等处理功能。

图片 67:Simulink Library,打开Simulink模块库,进入Simulink仿真环境,作用相当于在MATLAB命令窗口中输入simulink并按回车键。

图片 66:Help,进入MATLAB的帮助环境界面,允许读者进行帮助文档阅读、根据关键词的帮助查询以及查看演示范例。

图片 65:Preferences,类似于Option,读者可以在这里对MATLAB的一些属性、性能进行设置。

3.PLOT工具栏
screenshot

该工具栏方便读者对工作空间里的变量进行绘图,图2-5中不同的图标表示不同的绘图方式。

注意:图片 63是在HOME(或PLOT,APP)工具栏下方的路径选择工具栏,读者可在此进行MATLAB当前工作目录的设置。如果读者运行保存在其他目录的文件,会造成MATLAB程序不能正常执行,MATLAB会提示读者是否要更换工作目录至要运行的文件所在目录,如图2-6所示。

screenshot

4.命令窗口
命令窗口是读者与MATLAB人机交互的主要环境。在提示符“>>”后键入MATLAB命令并按回车键确认,该命令窗口将立即显示执行结果。

表2-1所示为命令窗口中的常用命令,读者需要熟练掌握。
screenshot

【例2-1】编写正弦函数的MATLAB指令,计算y值。

screenshot

在命令窗口中输入下面的命令并按回车键确认。

>> t=pi/6;y=sin(t)

其中pi和sin分别为MATLAB内置的值和正弦函数。得到结果显示y=0.5000。

y =
  0.5000

注意:

命令窗口中,命令行均以提示符“>>”开头,计算结果不带提示符,这样易于读者判断某条语句是命令还是计算结果。
5.当前路径浏览器
如图2-7所示,当前工作路径中所有文件夹及所有类型的文件名均显示于此窗口中。用户可在此窗口中进行类似于一般文件夹中的管理工作,如新建或删除文件夹、重命名文件、打开目标文件等。

screenshot

6.工作空间浏览器
当MATLAB启动后,系统自动在内存中开辟一块存储区用于存储用户在MATLAB命令窗口中定义的变量、运算结果和有关数据,此内存空间称为Workspace工作空间。

工作空间在MATLAB刚启动时为空,读者退出MATLAB后,工作空间的内容将不再保留,也就说工作空间里的数据只是临时存放。如图2-8所示,在此窗口中可以对工作空间进行管理。

例2-1输入实现正弦函数的命令语句并执行后,系统工作空间管理窗口中显示的信息如图2-8所示。可见,在执行命令过程中,读者在MATLAB命令窗口中定义的变量和运算结果确实都已经存储在工作空间中。

读者可方便地查看当前工作空间中存在的变量和数值,而且还可进行新变量定义、变量删除、保存等管理功能。

7.命令历史浏览器
图2-9展示的是命令历史浏览器窗口,标题栏名称为Command History。此窗口按时间顺序完整地记录了曾经在MATLAB工作窗口中输入并执行过的命令语句。

screenshot

通过命令历史浏览器,可实现如下功能:

(1)方便地按顺序查看输入命令的记录;

(2)双击单条命令行,可使其立即再次执行,而不需要读者重新输入命令行;

(3)按住Ctrl键并单击鼠标左键可选中多条命令行,再单击鼠标右键,在弹出的菜单中选择Create Script选项,可将选中的多条命令行作为一个文件进行编辑和保存。如图2-10所示。

screenshot

2.1.2 MATLAB文本编辑窗口
MATLAB编程有两种工作方式:一种称为行命令方式,如例2-1,就是在命令窗口中一行一行地输入程序,计算机每次对一行命令做出反应,因此也称为交互式的指令行操作方式;另一种工作方式为M文件编程工作方式。编写和修改M文件就要用到文本编辑窗口。

表2-2列出了这两种工作方式的简单比较。
screenshot

读者可以通过创建一个新的文本文件或打开一个原有的文本文件的方式来进入文本编辑窗口。该类文本文件名以 .m为后缀。读者将文本编辑窗口中的程序保存后,在MATLAB命令窗口中输入该文件的文件名就能执行程序。

图2-11展示的是例2-1用M文件的方式运行过程,运行结果与之前的一致。

screenshot

screenshot

2.1.3 MATLAB帮助使用
理解、掌握和运用MATLAB的帮助文档,对读者是十分重要和必需的。MATLAB帮助文档系统相当完备,就查询系统的调用方式而言,可分为两种:

单击MATLAB工具栏中的图片 54Help按钮,进入MATLAB的帮助环境界面,读者可以进行帮助文档阅读、根据关键词的帮助查询以及查看演示范例,这与Windows的求助方法一样;
在MATLAB命令窗口内,直接输入帮助命令求助。这种方法最常使用。
下面将较为详细地介绍输入帮助命令的求助方法。

1.help命令
help是最常用的求助命令。它可以提供绝大部分MATLAB命令使用方法的在线说明。这里将举例介绍help的应用方法。

【例2-2】在线帮助总览。在MATLAB命令窗口中输入help并按回车键确认,将出现如图2-12所示的信息,这些信息是各专题的简介。从图中可以看出MATLAB提供的专题帮助是很详尽的。
screenshot

【例2-3】具体专题的帮助信息。在MATLAB命令窗口中输入help(专题名),并按回车键确认,图2-13为MATLAB提供的基本矩阵操作专题的帮助信息。

【例2-4】具体函数的帮助信息。在MATLAB命令窗口中输入help(函数名),并按回车键确认,图2-14为MATLAB提供的正弦函数sin的帮助信息。
screenshot

screenshot

注意:

(1)帮助信息第一行是sin函数的简介,第二行为sin函数的使用方法,帮助信息都是这样的格式;

(2)help的工作原理是,把指定名字的那个M文件的第一段注释内容显示出来。读者可以采用如图2-15所示的注释结构,以构成自己的文件的在线帮助;

(3)使用edit 加上想看的函数名就可以打开该函数的M文件。例如sin函数,在MATLAB命令窗口里面输入edit sin,这样就可以打开sin的M文件了,如图2-15所示。

screenshot

2.lookfor命令
当要查找具有某种功能但又不知道准确名字的命令时,help的能力就不够了。为此,MATLAB设计了一个lookfor命令。它可以根据用户提供的完整或不完整的关键词,去搜索出一组与之相关的命令。

【例2-5】查找有关random随机的命令。在MATLAB命令窗口中输入lookfor random,并按回车键确认,图2-16为MATLAB提供的有关random的帮助信息。

screenshot

注意:

(1)有时MATLAB会搜索出很多条信息,程序一直处于搜索状态,如果读者想要停止搜索,可以使用组合键ctrl+c,搜索便会停止,搜索结果为之前搜索到的所有信息。

(2)lookfor的工作原理是,对MATLAB目录中的每个M文件注释区的第一行进行扫描,一旦发现这行中包含欲查询的字符串,那么该文件名以及注释的第一行将被显示出来。当然,读者想建立自己文件的在线帮助时,也可利用这种机制。

3.其他帮助命令
MATLAB还提供了一些其他的帮助命令,见表2-3。关于这些命令详细内容在此不多介绍,有兴趣的读者可以用help命令自行查询。
screenshot

相关文章
|
6天前
|
传感器 算法
基于无线传感器网络的MCKP-MMF算法matlab仿真
MCKP-MMF算法是一种启发式流量估计方法,用于寻找无线传感器网络的局部最优解。它从最小配置开始,逐步优化部分解,调整访问点的状态。算法处理访问点的动态影响半径,根据带宽需求调整,以避免拥塞。在MATLAB 2022a中进行了仿真,显示了访问点半径请求变化和代价函数随时间的演变。算法分两阶段:慢启动阶段识别瓶颈并重设半径,随后进入周期性调整阶段,追求最大最小公平性。
基于无线传感器网络的MCKP-MMF算法matlab仿真
|
9天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于Qlearning强化学习的小车弧线轨迹行驶控制matlab仿真
**MATLAB 2022a仿真实现Q-learning控制小车弧线行驶,展示学习过程及奖励变化。Q-learning是无模型强化学习算法,学习最优策略以稳定行驶。环境建模为二维平面,状态包括位置、朝向,动作涵盖转向、速度。奖励函数鼓励保持在轨迹上,用贝尔曼方程更新Q表。MATLAB代码动态显示轨迹及奖励随训练改善。**
34 15
|
3天前
|
传感器 机器学习/深度学习 算法
基于GA遗传算法的WSN网络节点覆盖优化matlab仿真
本研究应用遗传优化算法于无线传感器网络(WSN),优化节点布局与数量,以最小化节点使用而最大化网络覆盖率。MATLAB2022a环境下,算法通过选择、交叉与变异操作,逐步改进节点配置,最终输出收敛曲线展现覆盖率、节点数及适应度值变化。无线传感器网络覆盖优化问题通过数学建模,结合遗传算法,实现目标区域有效覆盖与网络寿命延长。算法设计中,采用二进制编码表示节点状态,适应度函数考量覆盖率与连通性,通过选择、交叉和变异策略迭代优化,直至满足终止条件。
|
21小时前
|
算法
基于COPE协议的网络RLNCBR算法matlab性能仿真
摘要: 本研究聚焦于COPE协议与RLNCBR算法(MATLAB仿真),整合随机线性网络编码与背压路由,优化网络编码技术以增强吞吐量与鲁棒性。实验在MATLAB2022a下执行,展示了平均传输次数随接收节点数(N:2-10)变化趋势(P1=...=Pn=0.08,重传间隔100Δt)。COPE协议利用编码机会提高效率,而RLNCBR算法动态调整路径,减少拥塞,提升成功率。数学模型与仿真实验证实算法有效提升网络性能,降低时延与丢包率。[总计239字符]
|
21小时前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于CNN卷积神经网络的MQAM调制识别matlab仿真
**理论**: 利用CNN自动识别MQAM调制信号,通过学习星座图特征区分16QAM, 64QAM等。CNN从原始数据提取高级特征,优于传统方法。 - **CNN结构**: 自动特征学习机制,适配多种MQAM类型。 - **优化**: 损失函数指导网络参数调整,提升识别准确度。 - **流程**: 大量样本训练+独立测试评估,确保模型泛化能力。 - **展望**: CNN强化无线通信信号处理,未来应用前景广阔。
|
9天前
|
机器学习/深度学习 算法 数据挖掘
基于改进K-means的网络数据聚类算法matlab仿真
**摘要:** K-means聚类算法分析,利用MATLAB2022a进行实现。算法基于最小化误差平方和,优点在于简单快速,适合大数据集,但易受初始值影响。文中探讨了该依赖性并通过实验展示了随机初始值对结果的敏感性。针对传统算法的局限,提出改进版解决孤点影响和K值选择问题。代码中遍历不同K值,计算距离代价,寻找最优聚类数。最终应用改进后的K-means进行聚类分析。
|
9天前
|
算法
六自由度Stewart平台的matlab模拟与仿真
**摘要** 探索MATLAB2022a模拟6-DOF Stewart平台,模拟动态变化及伺服角度。平台实现XYZ平移及绕XYZ轴旋转。结构含中心动平台、固定基座及6个伺服驱动的伸缩连杆。运动学原理涉及球铰/虎克铰的转动自由度。通过动力学分析解决输入力矩到平台加速度的转换。核心算法与模型揭示了平台的精密定位能力。仿真结果显示动态性能。
|
7天前
|
算法
基于粒子群优化的图像融合算法matlab仿真
这是一个基于粒子群优化(PSO)的图像融合算法,旨在将彩色模糊图像与清晰灰度图像融合成彩色清晰图像。在MATLAB2022a中测试,算法通过PSO求解最优融合权值参数,经过多次迭代更新粒子速度和位置,以优化融合效果。核心代码展示了PSO的迭代过程及融合策略。最终,使用加权平均法融合图像,其中权重由PSO计算得出。该算法体现了PSO在图像融合领域的高效性和融合质量。
|
8天前
|
传感器 算法 数据安全/隐私保护
基于鲸鱼优化的DSN弱栅栏覆盖算法matlab仿真
```markdown 探索MATLAB2022a中WOA与DSN弱栅栏覆盖的创新融合,模拟鲸鱼捕食策略解决传感器部署问题。算法结合“搜索”、“包围”、“泡沫网”策略,优化节点位置以最大化复杂环境下的区域覆盖。目标函数涉及能量效率、网络寿命、激活节点数、通信质量及覆盖率。覆盖评估基于覆盖半径比例,旨在最小化未覆盖区域。 ```
|
3天前
|
机器学习/深度学习 算法 BI
基于深度学习网络的USB摄像头实时视频采集与手势检测识别matlab仿真
**摘要:** 本文介绍了使用MATLAB2022a实现的基于GoogLeNet的USB摄像头手势识别系统。系统通过摄像头捕获视频,利用深度学习的卷积神经网络进行手势检测与识别。GoogLeNet网络的Inception模块优化了计算效率,避免过拟合。手势检测涉及RPN生成候选框,送入网络进行分类。系统架构包括视频采集、手势检测与识别、以及决策反馈。通过GPU加速和模型优化保证实时性能,应用于智能家居等场景。

热门文章

最新文章