2012-03-30 41 views
1

在MATLAB中声明全局2维数组的语法是什么?我想让数组变为空白或未初始化。也就是说,我希望能够稍后使用for循环将其初始化为某个值。到目前为止,我所遇到的所有例子都是在声明数组时初始化数组。我觉得这很乏味,因为我的阵列可能必须是一个很大的阵列。在MATLAB中声明一个全局二维数组的语法是什么?

谢谢。

+1

创建一个全局变量,并为其赋值(在你的情况下是一个2-D矩阵)是完全独立和独立的操作。 – 2012-03-30 05:08:57

回答

1

使用它之前声明一个变量作为全球第一:

global my_glob_var; 

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

my_glob_var = nan(200, 200) 

还有如果你想初始化的零,那些阵列等类似的功能,天道酬勤等

然后你想使用它的功能后,再一次宣布它作为全球:

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-loop)。在MATLAB中矢量化操作通常要快得多。

相关问题