【发布时间】:2021-02-10 08:34:24
【问题描述】:
我有一个创建/加载变量的函数。该变量稍后必须在另一个(分离的)函数中使用。但是,为了满足软件要求,我不能将此变量作为输入传递。
为了解决这个问题,我在考虑使用global 变量。但是,出于几个原因,我想避免使用它们,尤其是因为运行时间显着增加。
因此,我正在寻找一种方法来完成以下任务
function func1(x)
global y
y = some_long_computation(x);
end
和
function w = func2(z)
global y
w = some_other_stuff(y, z);
end
不使用全局变量。
有办法吗?
【问题讨论】:
-
为什么有“软件要求”不能传递变量?如果这是不可能的,我认为你已经回答了你自己的问题......
persistent变量将是唯一的选择,但不能跨越不同的函数。 -
函数可以是类的方法吗?您必须将它们称为
obj.func1(x)而不是func1(x)。 -
我认为他们可以。但我以前从未使用过课程。
标签: matlab global-variables shared-memory