我是Matlab的初学者,我没时间学习它。所以我有下一个问题。Matlab将变量添加到堆栈
我使用字符串数据类型如x = 2; y = 3; z = x + y;
。我需要声明一些变量并与它们一起工作。我可以添加变量到堆栈吗?我能写之类的函数
function addVar(name, value) {
stack[name] = value;
}
我是Matlab的初学者,我没时间学习它。所以我有下一个问题。Matlab将变量添加到堆栈
我使用字符串数据类型如x = 2; y = 3; z = x + y;
。我需要声明一些变量并与它们一起工作。我可以添加变量到堆栈吗?我能写之类的函数
function addVar(name, value) {
stack[name] = value;
}
可以使用电池阵列:
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
尝试结构:
>> 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
我需要一些类似哈希表的变量。当函数获取字符串“z = x + y”时,尝试用哈希表中的值替换“x”和“y”并计算“z”。 – GFB
哦,如果函数EVAL可以计算出与变量堆栈一起工作的“z”。这是很不错的!!谢谢!!! – GFB