2012-03-30 123 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中矢量化操作通常要快得多。

相關問題