2013-02-06 125 views
0

我是Matlab的初學者,我沒時間學習它。所以我有下一個問題。Matlab將變量添加到堆棧

我使用字符串數據類型如x = 2; y = 3; z = x + y;。我需要聲明一些變量並與它們一起工作。我可以添加變量到堆棧嗎?我能寫之類的函數

function addVar(name, value) { 
    stack[name] = value; 
} 

回答

0

可以使用電池陣列:

data{1} = 'x = 2'; 
data{2} = 'y = 3'; 
data{3} = 'z = x+y' 

這將產生

>> data  
data = 

    'x = 2' 'y = 3' 'z = x+y' 

,然後你可以使用它,例如,像這樣:

>> for k = 1:length(data), eval(data{k}), end 
x = 
    2 

y = 
    3 

z = 
    5 
+0

哦,如果函數EVAL可以計算出與變量堆棧一起工作的「z」。這是很不錯的!!謝謝!!! – GFB

0

嘗試結構:

>> s = struct; 
>> s.a = 'a string'; 
>> s.b = 3; 
>> s.c = zeros(5); 
>> s 

s = 

    a: 'a string' 
    b: 3 
    c: [5x5 double] 

但總的來說,MATLAB不需要變量聲明。在這裏有更多的細節: http://www.mathworks.com/matlabcentral/answers/31248-variable-declaration-in-matlab

+0

我需要一些類似哈希表的變量。當函數獲取字符串「z = x + y」時,嘗試用哈希表中的值替換「x」和「y」並計算「z」。 – GFB