2013-02-06 4 views
0

Je suis débutant dans Matlab et je n'ai pas le temps de l'apprendre. J'ai donc une question suivante. Je travaille avec le type de données de type chaîne x = 2; y = 3; z = x + y;. Je dois déclarer certaines variables et travailler avec elles. Puis-je ajouter des variables à empiler? Puis-je écrire comme fonctionMatlab ajouter une variable à la pile

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

Répondre

0

Vous pouvez utiliser des tableaux de cellules:

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

Cela va générer

>> data  
data = 

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

et vous pouvez l'utiliser, par exemple, comme celui-ci:

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

y = 
    3 

z = 
    5 
+0

Oh, si la fonction EVAL peut calculer "z" qu'elle fonctionne avec une pile de variables. C'est très gentil!! Je vous remercie!!! – GFB

0

struct Essayez:

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

s = 

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

Mais en général, Matlab ne nécessite pas de déclaration de variables. Ici, il y a plus de détails: http://www.mathworks.com/matlabcentral/answers/31248-variable-declaration-in-matlab

+0

J'ai besoin de var comme hash-table. Quand la fonction obtient la chaîne "z = x + y", remplacez "x" et "y" par les valeurs de la table de hachage et calculez "z". – GFB

Questions connexes