MATLAB M文件与M函数

合集下载

实验三_M_文件及_MATLAB_程序设计与调试

实验三_M_文件及_MATLAB_程序设计与调试

实验三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的文件类型

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文件程序控制结构程序调试程序举例

MATLAB程序设计M文件程序控制结构程序调试程序举例
x=input('Please input x=:');
y=input('Please input y=:');
[rho,the]=tran(x,y);
rho
the MATLAB中,函数能够嵌套调用,即一种函数能够调用别旳函数, 甚至调用它本身。一种函数调用它本身称为函数旳递归调用。
例6 分别建立命令文件和函数文件,将华氏温度f转换为 摄氏温度c。
21.1111
x=
21.1111
(5). 函数文件旳其他有关概念
①局部变量和全局变量:
局部变量只存在于单个函数工作空间,全局变量 经过global定义,可穿行于不同函数工作空间, 涉及基本工作空间workspace。
函数文件旳内部变量是局部旳,与其他函数 及MATLAB内存相互隔离; 而假如在若干函数中把某一变量定义为全局 变量,那么这些函数将公用这个变量,全局 变量旳作用域是整个MATLAB旳工作区,即 全程有效,全部函数都能够对其存取和修改。
if (nargin == 1) tol = max(size(x)) * max(s) * eps;
程序部分
end
r = sum(s > tol);
(2)命令m文件建立及其运营
建立 涉及下列环节: 进入m文件编辑器 输入程序 定义文件名,保存程序
命令M文件旳运营方式: 直接在命令窗口输入该文件旳文件名 在m文件编辑器中打开该文件后点击工具条中
② M文件模式
将matlab语句构成旳程序存储成以m为扩展名 旳文件,然后再执行该程序文件,这种工作模式 称为程序文件模式。
程序文件不能在命令窗口下建立,因为命令窗口 只允许一次执行一行上旳一种或几种语句。

(完整版)matlab各种函数大全

(完整版)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文件

matlab-M文件

MATLAB
② M文件程序执行方式
将matlab语句构成的程序存储成以m为扩展名的文件,
然后再执行该程序文件,这种工作模式称为程序文件模 式。
程序文件不能在命令窗口下建立,因为命令窗口只允许
一次执行一行上的一个或几个语句。
特点:1)和Basic一样是解释性的语言,语法简单、易调试;
2)和其他语言相比初始运行速度慢,但M文件一经运行便 以代码存放在内存中,再次运行时,将直接从内存中取出运行, 大大提高速度; 3)M文件扩展了MATLAB的能力,包含一系列工具箱,如: 自动控制、信号处理、小波分析等。
MATLAB
2.M文件的创建和打开
m文件的类型是普通的文本文件,可以使用 系统认可的文本文件编辑器来创建m文件。 如:windows的记事本和word等。 用matlab自带的编辑器来创建m文件。(建 议使用)。 单击桌面图标 ,在命令窗输入指令edit,都 可以打开空白的M文件编辑器。
MATLAB
+ +
MATLAB
M函数参数的调用
1)函数调用 完整函数调用的命令格式:
[输出参数1,输出参数2,…]=函数名(输入参数1,输入参数2) 当函数的输出形参多于1个时,应用方括号,参数之间用逗 号隔开:function [a,b]=mfile(x,y);当函数无输出参数时, 输出参数项应为空,或者用空的中括号表示: function mfile(x,y) 或者function [ ]=mfile(x,y);
matlabm文件程序执行方式将matlab语句构成的程序存储成以m为扩展名的文件然后再执行该程序文件这种工作模式称为程序文件模程序文件不能在命令窗口下建立因为命令窗口只允许一次执行一行上的一个或几个语句

MATLAB的M文件

MATLAB的M文件

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个,则应该⽤中括号“[]”将它们括起来;输⼊参数列表必须⽤⼩括号“()”括起来,即使只有⼀个输⼊参数。

MatlabM文件详解

MatlabM文件详解
3
M文件调试
▪ M文件的调试
▪ 可以在文件编辑器中进行
▪ M语言的文件编辑器不仅仅是一个文件编辑器,还是
一个可视化的调试开发环境
▪ 可以在命令行中结合具体的命令进行
M文件调试
▪ 应用程序的错误
▪ 语法错误
▪ 包括词法或者文法的错误
▪ 运行时的错误
▪ 指程序运行过程中得到的结果不是用户需要的结果
▪ 程序的调试是在程序无法得到正确结果时进行程
MATLAB的工作模式
(1)指令驱动模式
▪ 即在MATLABM命令行窗口下用户输入单行指令时, MATLAB立即处理这条指令,并显示结果,这就 是MATLAB命令行方式。
▪ 缺点:命令行方式程序可读性差,而且不能存 储,当处理复杂问题和大量数据时很不方便。
(2)M文件模式
▪ 将MATLAB语句构成的程序存储成以m为扩展名的 文件,然后再执行该程序文件,这种工作模式 称为程序文件模式。
序修正的唯一手段 ▪ M文件是一种解释型语言,只有在运行过程中才能发现
应用程序的错误
M文件调试
▪ M语言文件编辑器提供Breakpoints菜单进行程序调试
M文件调试
▪ Breakpoints菜单中的命令用来设置各种断点,只有
设置了断点的应用程序才能进行调试 ▪ 提供的自动断点
▪ Stop if Error ▪ Stop if Warning ▪ Stop if NaN or Inf ▪ Stop if All Errors
程序执行的结果将显示于命令窗中
函数文件(相当于C语言的子函数)
▪ 函数文件供主程序文件调用,必须指定函数名和
输入输出参数,并由主程序文件中语句序列给出 一系列操作,从而生成所需数据

第二讲 M文件及函数的编写

第二讲 M文件及函数的编写

case{2,4,6}
disp(‘even numbers’)
otherwise
disp (‘ mistake!’)
end2021/5/27
14
M文件及函数的编写
分支语句和C语言的区别:
当开关表达式的值等于某表达式,执行该语句 后结束该结构,不用 break otherwise 语句,不是 default 程序的执行结果和各个case顺序无关
3. 交互式输入Байду номын сангаас
(1) 用户输入提示命令input
M文件及函数的编写
input 命令用来接收用户从键盘输入数据、 字符串或表达式,并接收输入值。其常用格 式: >> R=input (‘How many apples’)
运行此命今后,将给出文字提示,并等待键盘 输入。
>> R=input(‘what is your name ?’,’s’)
新建M文件 一般过程 编写指令
调试运行
M文件及函数的编写
用户在编制此类文件时,只需把所要执行的命令 按行编辑到指定的文件中,程序运行时, MATLAB按行执行这些指令。
2021/5/27
4
几点规则:
M文件及函数的编写
● 建立好的书写风格,保持程序的可读性。
● m为文件的扩展名,在低版本的MATLAB中 还要注意文件名不超过8位,文件名和变量的命 名规则相同。
2.在command window中调用:num=my_fact(11)
M20A21T/5/2L7 AB函数为:prod(1:1000)
24
使用tic和toc函数, 测试一下该函数的运行效率。 显式程序运行的时间。
tic; num=my_fact(500); toc
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 的图形。

相关文档
最新文档