1
在MATLAB中聲明全局2維數組的語法是什麼?我想讓數組變爲空白或未初始化。也就是說,我希望能夠稍後使用for循環將其初始化爲某個值。到目前爲止,我所遇到的所有例子都是在聲明數組時初始化數組。我覺得這很乏味,因爲我的陣列可能必須是一個很大的陣列。在MATLAB中聲明一個全局二維數組的語法是什麼?
謝謝。
在MATLAB中聲明全局2維數組的語法是什麼?我想讓數組變爲空白或未初始化。也就是說,我希望能夠稍後使用for循環將其初始化爲某個值。到目前爲止,我所遇到的所有例子都是在聲明數組時初始化數組。我覺得這很乏味,因爲我的陣列可能必須是一個很大的陣列。在MATLAB中聲明一個全局二維數組的語法是什麼?
謝謝。
使用它之前聲明一個變量作爲全球第一:
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中矢量化操作通常要快得多。
創建一個全局變量,併爲其賦值(在你的情況下是一個2-D矩陣)是完全獨立和獨立的操作。 – 2012-03-30 05:08:57