在MATLAB中声明全局二维数组的语法是什么?

时间:2012-03-30 05:06:18

标签: matlab

在MATLAB中声明全局二维数组的语法是什么?

我希望数组为空白或未初始化。也就是说,我希望以后能够使用for循环将其初始化为某个值。到目前为止,我遇到的所有示例都包括在声明数组时初始化数组。我觉得这很乏味,因为我的阵列可能是一个很大的阵列。

感谢。

1 个答案:

答案 0 :(得分:1)

在使用之前将变量声明为全局变量:

global my_glob_var;

MATLAB并不真正支持'未初始化'变量的概念,但您可以创建一个NaN数组(不是数字)来表示尚未分配每个值。 nan函数的参数指示您要创建的NaN数组的大小:

my_glob_var = nan(200, 200)

如果您希望初始化零,1,Inf等数组,还有其他类似的函数。

然后在你想要使用它的函数内部,再次将它声明为全局:

function my_function

global my_glob_var  % allows this function to use the global variable
my_glob_var         % outputs the variable to command 

顺便说一句,你注意到你将“稍后使用for循环将其初始化为某个值”。根据您初始化阵列的方式,可能有一种矢量化方式来实现这一点(即不使用for循环)。在MATLAB中,矢量化操作通常要快得多。