Matlab 使用全局变量从函数中访问变量

Matlab 使用全局变量从函数中访问变量,matlab,Matlab,我想使用全局变量从函数中访问变量 Global x y z Answer = MyFunction(4) y Function Result = MyFunction(x) y=x+1; z=y+1; 我希望能够访问上次调用函数时y的值。可以这样做吗?在MATLAB搜索路径上创建以下函数: function z = myFunction(x) global y fprintf('in myFunction -> y = %f\n', y); y=x+1; z=y+1; end 从

我想使用全局变量从函数中访问变量

Global x y z
Answer = MyFunction(4)
y



Function Result = MyFunction(x)
y=x+1;
z=y+1;

我希望能够访问上次调用函数时y的值。可以这样做吗?

在MATLAB搜索路径上创建以下函数:

function z = myFunction(x)
global y
fprintf('in myFunction -> y = %f\n', y);
y=x+1;
z=y+1;
end
从脚本或命令行调用
myFunction

global y;
y = 0;
answer = myFunction(3);
fprintf('past myFunction -> answer = %f\n', answer);
fprintf('past myFunction -> y = %f\n', y);

由于MATLAB对象模型中引入了句柄类,因此我建议不要使用globals

持久变量也可以是全局变量的一个很好的替代方案,这取决于您正在尝试做什么。我同意尽可能避免使用globals(大多数情况下是这样),