create a new variable whos name is conditional

2 vues (au cours des 30 derniers jours)
Milad
Milad le 9 Fév 2014
Modifié(e) : Milad le 9 Fév 2014
Hi. How can I creat a new variable whose name I dont know yet. A simple example is below. Thanks
>> [a,b,c]=xlsread('myfile.xlsx')
a =
[]
b =
'new_var'
c =
'new_var'
.... now I want to create a variable whose name is the same as the string taken from b . i.e I want to creat a variable with name new_var . and then give it a value ( new_var=10). How?

Réponse acceptée

Mischa Kim
Mischa Kim le 9 Fév 2014
Modifié(e) : Mischa Kim le 9 Fév 2014
Use the genvarname command.
mv = genvarname('my_varname');
eval([mv '= 123;']);
my_varname
  3 commentaires
Mischa Kim
Mischa Kim le 9 Fév 2014
Modifié(e) : Mischa Kim le 9 Fév 2014
Milad, it is pretty much the same. From your code, b is a string, just like
b = 'new_var'
mv = genvarname(b);
eval([mv '= 10;']);
new_var
In other words, you create (generate) a variable name with the string contained in b, then evaluate the command sequence [mv '= 10;'] which puts the newly generated variable with its content in the workspace.
Milad
Milad le 9 Fév 2014
Modifié(e) : Milad le 9 Fév 2014
Thanks Mischa. I just understood what you was saying. you were right. The point was that when I read from excel, I should use genvarname like this :
mv=genvarname(b{1})
Thanks for introducing this command and for ur patience.

Connectez-vous pour commenter.

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 9 Fév 2014
Modifié(e) : Azzi Abdelmalek le 9 Fév 2014
You can do it like:
varname='new_var'
assignin('base',varname,[1 2 3])
new_var
But this is not a good idea like you can read it in the link
  2 commentaires
Milad
Milad le 9 Fév 2014
In your code you already know the name of variable. suppose that you dont know what is written in excel file!
Azzi Abdelmalek
Azzi Abdelmalek le 9 Fév 2014
I don't know the name of the variable
[a,b,c]=xlsread('myfile.xlsx')
assignin('base',b,[1 2 3])

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by