필터 지우기
필터 지우기

create a new variable whos name is conditional

조회 수: 3 (최근 30일)
Milad
Milad 2014년 2월 9일
편집: Milad 2014년 2월 9일
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?

채택된 답변

Mischa Kim
Mischa Kim 2014년 2월 9일
편집: Mischa Kim 2014년 2월 9일
Use the genvarname command.
mv = genvarname('my_varname');
eval([mv '= 123;']);
my_varname
  댓글 수: 3
Mischa Kim
Mischa Kim 2014년 2월 9일
편집: Mischa Kim 2014년 2월 9일
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 2014년 2월 9일
편집: Milad 2014년 2월 9일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Spreadsheets에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by