在工作区中我制作了一个矩阵。
现在我可以访问脚本中的变量了。就像 Variable(2) 将返回 4。
但是在像这样的函数里面
function y= getvariable(x)
y=Variable(x)
end
我收到错误
y=getvariable(2)
??? Undefined function or method 'Variable' for input
arguments of type 'double'.
Error in ==> getvariable at 3
y=Variable(x)
那么如何使 Variable
矩阵成为全局矩阵,以便我可以通过任何函数访问它?
最佳答案
尽管您可以使用全局变量
>> global Variable = rand(50,12);
...
function y = getvariable(x)
% Always needed
global Variable;
% Here ya go
y = Variable;
end
MUCH 更好的选择是使用
function x = getvariable(x)
% no body needed
end
你称之为
>> y = getvariable(Variable);
(当然,对于这个人为的例子,这将等于
>> y = Variable;
)
虽然全局变量有一些合法的用例,但一般来说,它们往往会使您的代码变得面条化,使代码更容易出错并且更难调试。 Have a read关于这个问题。
关于matlab - 使工作区中的matlab变量成为全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18638098/