create a new variable whos name is conditional

2 Ansichten (letzte 30 Tage)
Milad
Milad am 9 Feb. 2014
Bearbeitet: Milad am 9 Feb. 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?

Akzeptierte Antwort

Mischa Kim
Mischa Kim am 9 Feb. 2014
Bearbeitet: Mischa Kim am 9 Feb. 2014
Use the genvarname command.
mv = genvarname('my_varname');
eval([mv '= 123;']);
my_varname
  3 Kommentare
Mischa Kim
Mischa Kim am 9 Feb. 2014
Bearbeitet: Mischa Kim am 9 Feb. 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 am 9 Feb. 2014
Bearbeitet: Milad am 9 Feb. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 9 Feb. 2014
Bearbeitet: Azzi Abdelmalek am 9 Feb. 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 Kommentare
Milad
Milad am 9 Feb. 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 am 9 Feb. 2014
I don't know the name of the variable
[a,b,c]=xlsread('myfile.xlsx')
assignin('base',b,[1 2 3])

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by