第4章 MATLAB编程基础——4.1 M文件编辑器

简介: 第4章 MATLAB编程基础——4.1 M文件编辑器

第4章  MATLAB编程基础


知识要点

本章对MATLAB平台上的基本编程进行讲解与分析,涉及的新概念有:M文件编辑器、控制流、脚本、函数、局部变量、全局变量、子函数、私有函数、重载函数、evalfeval函数、内联函数和P码文件等,还涉及MATLAB编程中的向量化、预分配、变量的检测与传递等。针对每一部分都有相应的示例与讲解相配合,以使读者对这些抽象概念能够真正理解和掌握,并且体会到面向对象编程的优越性和重要性。

学习要求

d5b962501ad43cfe386c9191c6fd8b80_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


4.1  M文件编辑器


在前面几个章节的示例中,全部采用在MATLAB界面的命令行窗口中的MATLAB提示符下输入指令并运行的方式。然而当需要完成的运算比较复杂,需要几十行甚至成百上千行指令来完成时,命令行窗口就不再适用了。

为了代替在命令行窗口中输入MATLAB指令的语句,MATLAB平台上提供了一个文本文件编辑器,用来创建一个M文件来写入这些指令。M文件的扩展名为.m。一个M文件包含许多连续的MATLAB指令,这些指令完成的操作可以是引用其他的M文件,也可以是引用自身文件,还可以进行循环和递归等。

1)创建新的M文件,启动M文件编辑器的操作方法如下:

MATLAB命令行窗口中运行指令edit

单击MATLAB“主页选项卡→“文件面板→“新建脚本按钮。

选择MATLAB“主页选项卡→“文件面板→“新建按钮下面的脚本。

使用快捷键Ctrl+N

启动M文件编辑器后,MATLAB主界面增加了编辑器”“发布”“视图”3个选项卡,主界面会主动切换到新出现的编辑器选项卡,如图4-1所示。

42ed5816acd6a0e21d4edf10e0eddd37_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

4-1  “编辑器选项卡


2)打开已有的M文件的操作方法如下:

MATLAB命令行窗口中运行指令edit filename。其中,filename是已有的文件名,可以不带扩展名,文件名也可以省略不写。

单击主界面中的主页选项卡或新出现的编辑器选项卡→“文件面板→“打开按钮,再根据弹出对话框中的提示选择已有的M文件。


3)经过修改的M文件的保存方法如下:

M文件编辑器状态下,单击编辑器选项卡→“文件面板→“保存按钮。若已有此M文件,则保存操作完成;若为新的M文件,则会弹出对话框,需要选择存放目录和文件名,才能完成M文件的保存。

使用快捷键Ctrl+S

每当用户输入这个文件名的自变量时,MATLAB就会执行文件中的所有指令。在这个过程中,MATLAB从文件而不是从终端读取命令,当文件中最后一条命令被执行时,MATLAB再从终端读取命令。


4)运行M文件的方法如下:

单击运行面板中的运行按钮运行该M文件,即可在命令行窗口中得到结果。

在命令行窗口中输入e运行该M文件。

在读取文件时,MATLAB将首先在当前工作文件夹下寻找此文件,如果它不在当前文件夹下,则在该路径下的所有目录中搜索。该路径保存在MATLAB path(参见表4-1)中。


注意:如果想执行一个没有放在可以自动搜索处的文件,则可以单击M文件编辑器界面中的运行按钮。


MATLAB的工具库中有大量的预定义M文件,这些文件一般会在安装MATLAB软件时直接被存放在安装目录中,可以使用命令what列出由用户定义的和在MATLAB目录中存放的M文件。

关于M文件编辑器和M文件,MATLAB中提供了大量操作和控制指令,如表4-1与表4-2所示。

4-1  MATLAB文件操作指令集

df140cc6961bb57996234af044282d9c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

续表

d84a737fafc1b32253014ec1f1e91ac9_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

4-2  MATLAB文件流控制指令集

8b5417b120ea9a005e0f44b7f433e3bb_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


相关文章
|
2月前
|
存储 缓存 算法
基于FPGA的图像双边滤波实现,包括tb测试文件和MATLAB辅助验证
基于FPGA的图像双边滤波实现,包括tb测试文件和MATLAB辅助验证
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
1月前
|
机器学习/深度学习 算法 数据库
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
|
3月前
|
算法 异构计算
基于FPGA的图像高斯滤波实现,包括tb测试文件和MATLAB辅助验证
基于FPGA的图像高斯滤波实现,包括tb测试文件和MATLAB辅助验证
|
4月前
|
算法 计算机视觉 异构计算
基于FPGA的图像形态学腐蚀算法实现,包括tb测试文件和MATLAB辅助验证
基于FPGA的图像形态学腐蚀算法实现,包括tb测试文件和MATLAB辅助验证
|
3天前
|
算法 计算机视觉 异构计算
基于FPGA的图像累积直方图verilog实现,包含tb测试文件和MATLAB辅助验证
该内容展示了FPGA实现图像累积直方图的算法。使用Vivado2019.2和matlab2022a,通过FPGA的并行处理能力优化图像处理。算法基于像素值累加分布,计算图像中像素值小于等于特定值的像素个数。核心代码为`test_image`模块,读取二进制图像文件并传递给`im_hist`单元,生成直方图和累积直方图。
|
20天前
|
存储 人工智能 机器人
【Matlab】Matlab 汉/英语(A/a)声学特征比较与基音频率分析(源码+音频文件)【独一无二】
【Matlab】Matlab 汉/英语(A/a)声学特征比较与基音频率分析(源码+音频文件)【独一无二】
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
|
1月前
|
编解码 算法 计算机视觉
基于FPGA的图像最近邻插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
基于FPGA的图像最近邻插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
|
2月前
|
算法 自动驾驶 计算机视觉
基于FPGA的图像Robert变换实现,包括tb测试文件和MATLAB辅助验证
基于FPGA的图像Robert变换实现,包括tb测试文件和MATLAB辅助验证