MATLAB:访问函数中脚本的变量

MATLAB:访问函数中脚本的变量,matlab,function,Matlab,Function,这是一个非常基本的问题,但不知怎么的,我被这个问题迷住了 假设有一个脚本 脚本1.m 还有一个函数,函数1.m中的函数1 功能1.m 现在当我运行这个时,我得到一个错误:“未定义的函数或变量”a” 我熟悉C/C++,我知道我可以将a、b作为参数传递给函数。但是,假设“a”包含大量数据,这些数据如果通过函数传递,将消耗大量时间。所以传递变量是不可行的 有没有其他方法可以达到同样的效果 编辑1: 假设我使用的是模式搜索,或者其他函数将function1句柄作为参数,那么如何将script1的本地变量

这是一个非常基本的问题,但不知怎么的,我被这个问题迷住了

假设有一个脚本

脚本1.m

还有一个函数,函数1.m中的函数1

功能1.m

现在当我运行这个时,我得到一个错误:“未定义的函数或变量”a”

我熟悉C/C++,我知道我可以将a、b作为参数传递给函数。但是,假设“a”包含大量数据,这些数据如果通过函数传递,将消耗大量时间。所以传递变量是不可行的

有没有其他方法可以达到同样的效果

编辑1:
假设我使用的是模式搜索,或者其他函数将function1句柄作为参数,那么如何将script1的本地变量传递给function1。

您可以将
a
作为结构传递,有时会更简单。如果您根本不想传递它,您可以将它声明为
全局
,它应该在您使用它的所有函数中声明。@Adiel:谢谢。我在声明全局,但不是在所有函数中。这是我的错误。使用输入参数调用
function1
有什么问题:
function1(a,b)
?Matlas没有按值传递参数
a = 1;
b = 2;

function1()
a = a/b;
end