MATLAB M文件与M函数
- 格式:pdf
- 大小:285.70 KB
- 文档页数:4
实验三M 文件及MATLAB 程序设计与调试一、实验目的全面掌握在MA TLAB 下进行程序设计的有关问题,具体涉及到M 脚本文件和M 函数文件的编写、全局和局部变量的使用、流程控制结构、提高程序执行效率的设计技术、程序调试等问题。
二、实验内容1、关于M 脚本文件和M 函数文件MATLAB 的M 文件有两类:脚本文件和函数文件。
(1)脚本文件——将原本要在MATLAB 的指令窗口中直接输入的语句,放在一个以.m 为后缀的,称为脚本文件中。
有了脚本文件,可直接在MATLAB 中输入脚本文件名(不含后缀)。
MATLAB 会打开这一脚本文件,并依次执行脚本文件中的每一条语句,这与在MATLAB 中直接输入语句的结果完全一致。
(2)函数文件——它的第一行必须是函数定义行。
M 函数文件由5 部分构成:◆函数定义行◆H1 行◆函数帮助文本◆函数体◆注释注意:在函数文件中,除了函数定义行之外,其它部分都是可以省略的。
但作为一个函数,为了提高函数的可用性,应加上H1 行和函数帮助文本,为了提高函数的可读性,应加上适当的注释。
例如:function y = mean(x)% MEAN Average or mean value.% For vectors, MEAN(X) is the mean value of the elements in X.% For matrices, MEAN(X) is a row vector containing the mean value of each column.[m,n]=size(x);if m==1% Determine whether x is a vectorm=n;endy = sum(x)/m;①函数定义行:function y = mean(x)function 为函数定义的关键字,mean 为函数名,y 为输出变量,x 为输入变量当函数具有多个输出变量时,则以方括号括起;当函数具有多个输入变量时,则直接用圆括号括起。
matlab的文件类型摘要:一、引言二、MATLAB 文件类型概述1.数据文件2.脚本文件3.函数文件4.工具箱文件5.图形文件三、数据文件1.CSV 文件2.二进制文件3.音频文件4.视频文件四、脚本文件1.M 文件2.M 脚本文件五、函数文件1.函数声明行2.h1 行3.在线帮助文本区4.编写和修改记录5.函数主体六、工具箱文件1.工具箱的定义2.工具箱的结构3.工具箱的使用七、图形文件1.图形对象2.图形属性3.图形坐标4.图形绘制函数八、结论正文:一、引言MATLAB 是一种广泛应用于科学计算、数据分析、可视化等领域的编程语言。
在MATLAB 中,文件类型丰富多样,主要包括数据文件、脚本文件、函数文件、工具箱文件和图形文件等。
本文将对这些文件类型进行详细介绍,以帮助用户更好地理解和使用MATLAB。
二、MATLAB 文件类型概述(1)数据文件数据文件主要包括CSV 文件、二进制文件、音频文件和视频文件等。
这些文件存储了MATLAB 中的数据,可以根据需要进行读取和写入。
(2)脚本文件脚本文件主要包括M 文件和M 脚本文件,它们是MATLAB 中的主要编程方式,可以实现MATLAB 的各种功能。
(3)函数文件函数文件是一种特殊的脚本文件,用于定义和实现MATLAB 函数。
函数文件由函数声明行、h1 行、在线帮助文本区、编写和修改记录、函数主体等几个部分组成。
(4)工具箱文件工具箱文件是一种包含一系列相关函数和程序的文件,可以帮助用户快速完成特定任务。
工具箱文件主要包括工具箱的定义、结构和使用。
(5)图形文件图形文件是MATLAB 中用于绘制图形的对象,包括图形对象、图形属性、图形坐标和图形绘制函数等。
三、数据文件(1)CSV 文件CSV 文件是一种文本文件,用于存储表格数据。
在MATLAB 中,可以使用readtable 和writetable 函数读取和写入CSV 文件。
(2)二进制文件二进制文件是一种存储数据的方式,主要包括.mat 文件和.matlab 文件。
MATLAB的M⽂件M⽂件可分为脚本M⽂件(简称脚本⽂件)和函数M⽂件(简称函数⽂件)两⼤类,其特点和适⽤领域均不同。
脚本⽂件脚本⽂件是由MATLAB语句构成的⽂本⽂件,以.m为扩展名。
运⾏命令⽂件的效果等价于从MATLAB命令窗⼝中按顺序逐条输⼊并运⾏⽂件中的指令,类似于DOS下的批处理⽂件。
脚本⽂件运⾏过程所产⽣的变量保留在MATLAB的⼯作空间中,脚本⽂件也可以访问MATLAB当前⼯作空间的变量,其他脚本⽂件和函数可以共享这些变量。
因此,脚本⽂件常⽤于主程序的设计。
例题编写脚本⽂件,对数a、b、c进⾏排序,并按从⼤到⼩的顺序输出。
% compareABC.ma = input("Enter a:");b = input("Enter b:");c = input("Enter c:");sort([a,b,c],'descend')1. 选择好⼯作⽬录2. 新建⼀个脚本⽂件命名为compareABC.m3. 在脚本⽂件中编写代码4. 点击运⾏按钮5. 在命令⾏窗⼝作输⼊输出6. 查看⼯作区的变量情况函数⽂件**函数⽂件是M⽂件的另⼀种类型,它也是由MATLAB语句构成的⽂本⽂件,并以.m为扩展名。
MATLAB的函数⽂件必须以关键字function语句引导,其基本结构如下:function [返回参数1,返回参数2,....] = 函数名(输⼊参数1,输⼊参数2,...)% 注释说明语句段,由%引导输⼊、返回变量格式的检测语句函数体语句函数⽂件具有如下特点。
(1)函数名由读者⾃定义,与变量的命名规则相同。
(2)保存的⽂件名必须与定义的函数名⼀致。
(3)读者可通过返回参数及输⼊参数来实现函数参数的传递,但返回参数和输⼊参数并不是必须的。
返回参数如果多于1个,则应该⽤中括号“[]”将它们括起来;输⼊参数列表必须⽤⼩括号“()”括起来,即使只有⼀个输⼊参数。
matlab中m函数MATLAB是一种用于数值计算和数据可视化的高级编程语言和环境。
它具有强大的矩阵处理能力,被广泛应用于科学、工程、经济学、金融学等领域。
在MATLAB中,M文件是一种包含MATLAB语句的脚本文件,也被称为M函数。
M函数是MATLAB中最常用的方式之一,用于封装一段可重复调用的代码。
一个M函数由一系列MATLAB语句组成,并且可以具有输入参数和输出结果。
创建M函数的主要目的是提高代码的可重用性和可维护性。
创建M函数非常简单,只需使用MATLAB编辑器创建一个新的.m文件,并在其中编写代码即可。
M函数的文件名必须与函数名称相同。
例如,如果函数的名称是"myFunction",则M文件的文件名应为"myFunction.m"。
M函数的定义通常包含在文件的开头部分。
例如,下面是一个简单的M函数的例子:```function output = myFunction(input) % 这是一个简单的M函数例子output = input + 1;end```在这个例子中,我们定义了一个名为"myFunction"的M函数,它有一个输入参数"input"和一个输出结果"output"。
在函数体内部,我们对输入参数进行加一操作,并将结果赋给输出参数。
调用M函数非常简单。
只需在MATLAB命令窗口中输入函数名和相应的参数即可。
例如,我们可以这样调用上面定义的M函数:```result = myFunction(2);disp(result);```这段代码将输出结果"3",因为我们将输入参数"2"加一后得到了输出结果"3"。
除了输入参数和输出结果,M函数还可以具有局部变量。
局部变量只在函数体内部有效,并且在函数外部是不可见的。
这种封装性使得M函数更加模块化和可维护。
实验一 matlab 基本操作一、 实验目的熟悉matlab 的安装与启动;熟悉matlab 用户界面;熟悉matlab 功能、建模元素;熟悉matlab 优化建模过程。
二、 实验设备与仪器1.微机2.matlab 仿真软件三、 实验步骤1. 了解matlab 的硬件和软件必备环境;2. 启动matlab ;3. 熟悉标题栏,菜单栏,工具栏,元素选择窗口,状态栏,控制栏以及系统布局区;4. 学习优化建模过程。
四、 实验报告要求1. 写出matlab 系统界面的各个构成;以及系统布局区的组成;以及每一部分的功能;2. 优化建模过程应用举例五、实验内容(一)、Matlab 操作界面1. 命令窗口(command window )2. 命令历史窗口(command history )3. 工作空间管理窗口(workspace )4. 当前路径窗口(current directory )(二)、优化建模过程应用举例1、简单矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A 的输入步骤。
(1)在键盘上输入下列内容A = [1,2,3; 4,5,6; 7,8,9](2)按【Enter 】键,指令被执行。
(3)在指令执行后,MATLAB 指令窗中将显示以下结果:A = 1 2 34 5 67 8 92、矩阵的分行输入。
A=[1,2,34,5,67,8,9]A =1 2 34 5 67 8 93、指令的续行输入S=1-1/2+1/3-1/4+ ...1/5-1/6+1/7-1/8S =0.63454、画出衰减振荡曲线t ey t 3sin 3-=及其它的包络线30t e y -=。
t 的取值范围是]4,0[π。
t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b')grid5、画出2222)sin(y x y x z ++=所表示的三维曲面。
M文件与M函数
Matlab输入命令的常用方式有两种:一种是直接在Matlab的命令窗门中逐条输入Matlab 命令;二是m文件工作方式。
当命令行很简单时,使用逐条输入方式还是比较方便的。
但当命令行很多时(比如说几十行乃至全成百上千行命令),显然再使用这种方式输入MATLAB 命令,就会显得杂乱无章,不易于把握程序的具体走向,并且给程序的修改和维护带来了很大的麻烦。
这时,建议采用Matlab命令的第二种输入形式m文件工作方式。
m文件工作方式,指的是将要执行的命令全部写在一个文本文件中,这样既能使程序显得简洁明了,又便于对程序的修改与维护。
m文件直接采用Matlab命令编写,就像在Matlab 的命令窗口直接输入命令一样,因此调试起来也十分方便,并且增强了程序的交互性。
m文件与其他文本文件一样,可以在任何文本编辑器中进打编辑、存储、修改和读取。
利用m文件还可以根据白己的需要编写一些函数,这些函数也可以橡Matlab提供的函数一样进行调用。
从某种意义上说,这也是对MATLAB的二次开发。
m文件有两种形式:一种是命令方式或称脚本方式;另一种就是函数文件形式。
两种形式的文件扩展名均是.m。
1、M文件
当遇到输入命令较多以及要重复输入命令的情况时,利用命令文件就显得很方便了。
将所有要执行的命令按顺序放到一个扩展名为.m的文本文件中,每次运行时只需在MATLAB 的命令窗口输入m文件的文件名就可以了。
需要注意的是,m文件最好直接放在Matlab的默认搜索路径下(一般是Matlab安装目录的子目录work中),这样就不用设置m文件的路径了,否则应当用路径操作指令path重新设置路径。
另外,m文件名不应该与Matlab的内置函数名以及工具箱中的函数重名,以免发生执行错误命令的现象。
Matlab对命令文件的执行等价于从命令窗口中顺序执行文件中的所有指令。
命令文件可以访问Matlab工作空间里的任何变量及数据。
命令文件运行过程中产生的所有变量都等价于从Matlab工作空间中创建这些变量。
因此,任何其他命令文件和函数都可以自由地访问这些变量。
这些变量一旦产生就一直保存在内存中,只有对它们重新赋值,它们的原有值才会变化。
关机后,这里变量也就全部消失了。
另外,在命令窗口中运行clear命令,也可以把这些变量从工作空间中删去。
当然,在Matlab的工作空间窗口中也可以用鼠标选择想要删除的变量,从而将这些变量从工作空间中删除。
接下来,编写一个名为test.m的命令文件,用来计算矩阵1到100的和,并把它放到变量s中。
第一步创建新的M-文件。
在Matlab主菜单上选择菜单命令File→New→M-File
图1创建新的M-文件
第二步编写代码。
在接下来出现的编辑框中输入相应的代码,见图2
图2代码编辑框
第三步保存。
利用编辑框中的菜单命令File Save,或者直接点击其上的图标,就弹出一个保存文件的对话框:
图3保存文件
将文件名中的Untitled.m 改成test ,点击“保存”按钮。
第四步M 文件的使用。
回到Matlab 的主界面,在命令窗口输入如下两条命令
>>test
>>s
观察结果。
2、M 函数
m 函数文件是一个特殊的m 文件,其常见格式如下:
funcdon 返问变量列表=函数名(输入变量列表)
注释说明语句段
函数体语刘
需要说明的是,这里输入变量的个数以及输出变量的个数是由MATLAB 本身提供的两个保留变量nargin 和nargout 来给出的,它们分别是Number of function input arguments 和Number of function output arguments 的缩写形式。
输入变量要用逗号隔开,输出变量多于1个时,要用方括号括起来。
用户可以借助于help 命令显示其中的注释说明语句段。
通过这样的方法就可以建立函数文件或者称m 函数,其调用方法与一放的Matlab 函数的调用方法相同。
函数文件相当于对Matlab 进行了二次开发。
其作用与其他高级语言子函数的作用基本相同,都是为了实现特定目的而由用户自己编写的子函数。
函数文件与命令文件有着鲜明的区别:
●函数文件的第一行必须包含function 字符;命令文件无此要求。
●函数文件的第一行必须指定函数名、输入参数及输出参数,命令文件无此要求。
●一个函数文件可以合0个、1个或多个输入参数和返回值。
●函数文件要在文件的开头定义函数名,如function [y1,y2]=func(x,a,b,c),则该函数文件名必须存为func.m ,而命令文件无此要求。
●命令文件的变量在文件执行结束以后仍然保存在内存中而不会丢失,而函数文件的变量仅在函数运行期间有效(除非用global 把变量说明成全局变量,否则函数文件中的变量均为局部变量),当函数运行完毕后,这些变量也就消失了。
需要说明的是,调用函数时所用的输入输出变量名并不要求与编写函数文件时所用的输入输出变量名相同。
下面讲述函数文件的创建以及函数的调用。
第一步和M 文件的一样,通过菜单命令File →New →M-File ,弹出一个编辑框。
第二步在编辑框中输入如下代码
function y=func(x)
if abs(x)<1
y=sqrt(1-x^2);
else
y=x^2-1;
end 此段代码对应于分段函数⎪⎩⎪⎨⎧≥-<-=1||11||122x x x x y 。
第三步保存,利用编辑框中的菜单命令File Save ,或者直接点击其上的图标,探
出对话框图4保存M 函数
注意,不要修改文件名,直接点击“保存”按钮。
第四步函数调用。
在Matlab 的命令窗中输入命令
>>fplot('func(x)',[-2,2])
就会得到图形
图5函数⎪⎩⎪⎨⎧≥-<-=1||11||122x x x x y 的图形。