MATLAB M文件与M函数
- 格式:doc
- 大小:124.50 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函数表
Ⅰ.1 统计工具箱函数 表Ⅰ-1 概率密度函数
表Ⅰ-2 累加分布函数
表Ⅰ-3 累加分布函数的逆函数
表Ⅰ-4 随机数生成器函数
表Ⅰ-5 分布函数的统计量函数
表Ⅰ-6 参数估计函数
表Ⅰ-7 统计量描述函数
表Ⅰ-8 统计图形函数
表Ⅰ-9 统计过程控制函数
表Ⅰ-10 聚类分析函数
表Ⅰ-11 线性模型函数
表Ⅰ-12 非线性回归函数
表Ⅰ-13 试验设计函数
表Ⅰ-14 主成分分析函数
表Ⅰ-15 多元统计函数
表Ⅰ-16 假设检验函数
表Ⅰ-17 分布检验函数
表Ⅰ-18 非参数函数
表Ⅰ-19 文件输入输出函数表Ⅰ-20 演示函数
Ⅰ.2 优化工具箱函数
表Ⅰ-21 最小化函数表
表Ⅰ-22 方程求解函数表
表Ⅰ-23 最小二乘函数表
表Ⅰ-24
实用函数表
表Ⅰ-25 大型方法的演示函数表
表Ⅰ-26 中型方法的演示函数表
Ⅰ.3 样条工具箱函数
表Ⅰ-27 三次样条函数
表Ⅰ-28 分段多项式样条函数表Ⅰ-29 B样条函数
表Ⅰ-30 有理样条函数
表Ⅰ-31 操作样条函数
表Ⅰ-32 样条曲线端点和节点处理函数
表Ⅰ-33 样条曲线端点和节点处理函数
表Ⅰ-34 解线性方程组的函数
表Ⅰ-35 样条GUI函数
Ⅰ.4 偏微分方程数值解工具箱函数表
Ⅰ-36 偏微分方程求解算法函数
表Ⅰ-37 用户界面算法函数
表Ⅰ-38 几何算法函数
表Ⅰ-39 绘图函数表Ⅰ-40 实用函数
续表
表Ⅰ-41 自定义算法函数表Ⅰ-42 演示函数。
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中m文件的作用
在MATLAB中,M文件是一种文本文件,用于存储MATLAB程序代码。
M文件可以包含函数、脚本或其他MATLAB代码。
它们被用来定义函数、执行一系列的命令或者实现特定的算法。
M文件的作用非常广泛,下面我会从几个不同的角度来详细介绍。
首先,M文件可以用来定义函数。
在MATLAB中,函数是一段独立的代码,可以接受输入参数并返回输出结果。
M文件中定义的函数可以被其他M文件或者MATLAB命令调用,这样可以实现代码的复用和模块化。
通过定义函数,我们可以将复杂的计算或者算法封装起来,提高代码的可读性和可维护性。
其次,M文件可以用来编写脚本。
脚本是一系列按顺序执行的MATLAB命令的集合。
通过编写脚本,可以实现自动化的数据处理、图形绘制、模拟等功能。
脚本可以帮助用户简化重复性工作,提高工作效率。
此外,M文件还可以用来实现特定的算法或者数值计算。
MATLAB作为一种强大的数学计算软件,提供了丰富的数学函数和工具,用户可以通过编写M文件来实现各种复杂的数学计算和算法。
比如,求解方程、拟合曲线、求解微分方程等。
总的来说,M文件在MATLAB中具有非常重要的作用,它们是实现功能的基本单元,可以用来定义函数、编写脚本、实现算法等。
通过合理的使用M文件,可以充分发挥MATLAB的强大功能,实现各种复杂的数学计算和工程应用。
第一章:一、M文件:以字母m为其扩展名,是ASCII码文本文件。
分为两类:程序M文件,简称M文件;函数M文件,或简称为函数(包括内部函数)。
M文件的内容是由符合MA TLAB语法的语句构成的。
函数M文件的第一行必须是以关键字function开始的函数说明语句。
文件名一般为函数名。
程序M文件是众多命令语句的集中体现,不一定有特定的功能。
二、两类M文件的异同共性:在MA TLAB命令窗口中键入文件名,可以执行M文件中的规定的计算任务或某种功能。
区别一:程序M文件中创建的变量都是MATLAB工作空间中的变量,工作空间的其他程序或函数可以共享;而函数M文件中创建的所有变量除了全程变量外,均为局限于函数运行空间内的局部变量;——类似于主程序区别二:函数M文件可以使用传递参数,所以函数M文件的调用式中可以有输入参数和输出参数,而程序M文件则没有这种功能。
——类似于函数三、帮助命令MATLAB帮助命令包括help、lookfor以及模糊查询。
1.help命令在MATLAB 6.5命令窗口中直接输入help 命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。
同样,可以通过help加函数名来显示该函数的帮助说明。
2.lookfor命令help命令只搜索出那些关键字完全匹配的结果,lookfor命令对搜索范围内的M文件进行关键字搜索,条件比较宽松。
lookfor命令只对M文件的第一行进行关键字搜索。
若在lookfor命令加上-all选项,则可对M文件进行全文搜索。
3.模糊查询MATLAB 6.0以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令。
四、获得帮助:方便的在线帮助命令,可提供各个命令的用法指南。
help命令还可提供有关MATLAB的一些重要信息。
1、help 显示所有的帮助目录。
2、help 目录名显示出指定目录中的所有命令及其函数:如输入:help lang将列出与MA TLAB编程语言有关的所有命令及其函数。
我们若可以根据需要建立自己的函数文件,他们能够像库函数一样方便地调用,从而极大地扩展MATLAB地能力.
如果对于一类特殊地问题,建立起来许多函数M文件,就能最终形成独立地工具箱.
1.函数M文件地基本用法
function 因变量=函数名 (自变量)
其它各行为从自变量计算因变量地语句,并最终将结果赋予因变量.
这个M文件地文件名最好是函数名.m
function a = randint (m, n)
% RANDINT Randomly generated integral matrix
a = floor (10*rand(m,n))
当需要一个这样地2*3随机矩阵时,只需
>>x=randint(2,3)
x= 9 6 8
2 4 7
2.函数M文件有多个因变量
要用[]将他们括起来,请看下例:
function [mean, stdev] = stat(x)
% STAT Mean and standard deviation
[m n] = size(x);
if m =1
m=n
end
mean= sum(x)/m;
stdev=sqrt(sum(x^2)/m-mean^2)
其用途,如求一个数组X地平均值和均方差,只需:
>>x= [ 2 4 -7 0 5 -1];
[xm.xd]=stat(x)
xm=0. 5
xd=3.9476。
M文件与M函数
Matlab输入命令的常用方式有两种:一种是直接在Matlab的命令窗门中逐条输入Matlab 命令;二是m文件工作方式。
当命令行很简单时,使用逐条输入方式还是比较方便的。
但当命令行很多时(比如说几十行乃至全成百上千行命令),显然再使用这种方式输入MATLAB 命令,就会显得杂乱无章,不易于把握程序的具体走向,并且给程序的修改和维护带来了很大的麻烦。
这时,建议采用Matlab命令的第二种输入形式m文件工作方式。
m文件工作方式,指的是将要执行的命令全部写在一个文本文件中,这样既能使程序显得简洁明了,又便于对程序的修改与维护。
m文件直接采用Matlab命令编写,就像在Matlab 的命令窗口直接输入命令一样,因此调试起来也十分方便,并且增强了程序的交互性。
m文件与其他文本文件一样,可以在任何文本编辑器中进打编辑、存储、修改和读取。
利用m文件还可以根据白己的需要编写一些函数,这些函数也可以橡Matlab提供的函数一样进行调用。
从某种意义上说,这也是对MA TLAB的二次开发。
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 返问变量列表=函数名(输入变量列表)
注释说明语句段
函数体语刘
需要说明的是,这里输入变量的个数以及输出变量的个数是由MA TLAB 本身提供的两个保留变量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||122
x x x x y 。
第三步 保存,利用编辑框中的菜单命令File Save ,或者直接点击其上的图标,探出对话框
图4 保存M 函数
注意,不要修改文件名,直接点击“保存”按钮。
第四步 函数调用。
在Matlab 的命令窗中输入命令
>> fplot('func(x)',[-2,2])
就会得到图形
图5函数⎪⎩⎪⎨⎧≥-<-=1||11||122
x x x x y 的图形。