Matlab中m文件,函数文件,脚本文件的区别?

如题所述

MATLAB中有一种文件叫M文件,他就是一系列代码组成的一个扩展名为.m的文件,虽然M文件是简单的ASCII型的文本文件,但是和其语法和高级语言一样,是一种程序化的编程语言。
M文件可分为脚本文件(MATLAB scripts)和函数文件(MATLAB functions)。脚本文件是包含多条MATLAB命令的文件;函数文件可以包含输入变量,并把结果传送给输出变量,两者的简要区别如下:
脚本文件
1.多条命令的综合体
2.没有输入、输出变量
3.使用MATLAB基本工作空间
4.没有函数声明行
函数文件
1.常用于扩充MATLAB函数库
2.可以包含输入、输出变量
3.运算中生成的所有变量都存放在函数工作空间
4.包含函数声明行
脚本文件可以理解为简单的M文件,脚本文件中的变量都是全局变量。函数文件是在脚本文件的基础之上多添加了一行函数定义行,其代码组织结构和调用方式与对应的脚本文件截然不同。函数文件是以函数声明行“function...”作为开始的,其实质就是用户往MATLAB函数库里边添加了子函数,函数文件中的变量都是局部变量,除非使用了特别声明。函数运行完毕之后,其定义的变量将从工作区间中清除。而脚本文件只是将一系列相关的代码结合封装,没有输入参数和输出参数,即不自带参数,也不一定要返回结果。而多数函数文件一般都有输入和输出变量,并见有返回结果。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-14
函数文件就像一个包装好的黑盒子
通过输入,输出参数和外界交换信息
我们可以向函数传递参数,并取得函数返回的参数
而函数文件运行的时候,有一个独立的变量储存空间
函数里面定义的变量不会影响base工作空间的内容
base工作空间的变量也不会影响函数内部的变量
函数文件必须以函数定义行为第一行内容

而脚本文件实际上就是将多条指令存放在一起
运行脚本文件,实际上和将脚本文件内容复制之后,粘贴在命令行运行是等价的
脚本文件没有输入输出参数
而其可以使用base工作空间中的变量
在脚本文件中定义的变量也直接储存在base工作空间中本回答被网友采纳
第2个回答  2014-10-05
脚本就是将一堆代码放入一个m文件中,调用时相当于直接打了这些代码,脚本中的命令可以直接使用或修改工作区的数据。
函数则有一个相对封闭的环境,函数不能使用工作区的数据,除非某些数据被输入了函数或者是全局变量;被输入的数据实际上是被拷贝了一份交给函数,不管函数内如何修改这些值,工作区中存放的值不会被改变。不过全局变量的值如果被修改,是可以反映在工作区中的。
第3个回答  2015-01-14
后缀名为m文件由多条指令构成,可编译运行,即脚本文件;函数文件是用来调用的,只是定义了一个函数。一般就这两种文件类型
第4个回答  2019-04-25
(1)m脚本文件名不必与函数名相同;(2)m函数文件调用时需要提供函数参数,而m脚本文件只需要提供文件名;
(3)m脚本文件创建的每个变量都会保存到matlab工作区,而m函数文件只有输出结果才保存到matlab工作区中;
(4)文件格式上的一些区别。
相似回答