2012-09-22 17 views
0

在我的函數中,我將創建一個變量,其中只包含一個數字。我該如何初始化呢?我必須把它初始化爲0值,或者我可以初始化它只是在功能上var;創建變量以包含matlab中的數字

+1

如果你的變量被命名爲'X'。只需在函數的開頭添加'X = 0;'(在'function ...'行之後)。 – Oli

回答

2

在Matlab中,變量是動態初始化的。內存分配與初始化沒有C++或Java等價。

例如:

C代碼:

int x; // Allocate memory on the stack for integer. 
x = 5; // Assign the value 5 

Matlab代碼:

x = 5; %# Allocate memory and assign the value 5 

不能突破此兩個部分以下列方式:

x; %# SYNTAX ERROR! x is not defined yet. 
x = 5; 

此外,我不確定您是否意指var是某種關鍵字,但如果您認爲它是 - 您錯了。

1
var = 0; 

只是把它設置的號碼。無需初始化。 Matlab變量是完全動態的。

你也可以這樣做

global myvar; 

,這將創建一個變量等於空列表[]

您可以覆蓋變量也無需擔心類型。

myvar %equal to [] 
myvar = 1543 % equal to 1543 
myvar = 'a string hello' %Now myvar is a string 
myvar = {item1, item2, item3} % now myvar is a cell array containing 3 items. 
+0

但變量會在執行期間取值,而不是在開始時。因此,最初我必須將其置零。 – user1508419

+0

只是一小點,如果你的第一行代碼真的是第一行,而你沒有定義'myvar',它會引發錯誤。除此之外,一個很好的答案 –

相關問題