MATLAB脚本文件和MATLAB函数文件有什么区别?
答案 0 :(得分:17)
脚本与功能
脚本是包含MATLAB的m文件 声明。 MATLAB``function''是 另一种类型的m文件。最大的 脚本和。之间的区别 函数是函数有输入 和输出参数。脚本文件 只能操作那些变量 被硬编码到他们的m文件中。如 你可以看到,功能更多 灵活。因此他们更多 适合一般用途的任务 这将适用于不同的 数据。
脚本对任务很有用 不改变。他们也是一种方式 记录特定的序列 动作,比如用函数调用 特殊参数值,可能是 很难记住。
还有更多 脚本和。之间的细微差别 功能。可以想到一个脚本 作为键盘宏:当你键入 所有的脚本名称 包含在其中的命令被执行 就像你输入了这些一样 命令进入命令窗口。 因此,所有变量都在 脚本被添加到工作区中 本届会议。此外,如果 脚本中的任何变量 文件名与...中的名称相同 您当前的工作空间,值 工作区中的那些变量是 由脚本中的操作更改。 这可以对您有利。它 也可能导致不必要的副作用。
相比之下,函数变量是 本地功能。 (例外 这是可以声明和 使用全局变量,但那 要求和明确的行动 user。)本地功能范围 变量为您提供更高的安全性 和灵活性。唯一的方法(除此之外) 显式声明的全局变量) 获取信息进出 功能是通过 参数列表中的变量。
示例强>
脚本和函数之间的主要区别之一是访问工作空间中的变量。例如,假设在工作区中,您已定义了两个变量a = 10
和b = 20
。这些变量在主提示符的命令行中定义。
脚本文件 - display_mult.m
disp(a*b)
;
键入display_mult
会在工作区中显示a
和b
的产品,即10*20
或200
。
但是如果您定义了一个名为display_mult的函数,该函数在具有相同名称的文件中定义:
功能文件 - display_mult.m
function display_mult(a,b)
disp(a*b);
end
您必须将两个变量作为参数包含在函数调用中。因此,display_mult
这次不工作,因为函数工作区中不存在a
和b
。您必须通过运行display_mult(a,b)
来包含它们,这将显示所需的结果。
简单说明
脚本中的每个语句都等同于在MATLAB的命令窗口中输入它们。你只是将它们存储在文件中!
另一方面,函数接受参数,是一个“新”工作区,与主工作区分开。
注意:函数调用结束时的end
是可选的,但我想添加它以使事情井然有序。当然,如果文件中有多个函数定义,则它们都必须以end
结尾。此外,您不能在同一文件中包含脚本和函数定义。