Assigning input string as variable name
이전 댓글 표시
Hi everyone, I have a quick question. I would like to ask the user to input the name of a variable and then use that string as a new variable name. For example, say I have the value [0 1 2 3 4]. I want to ask the user to give the name he would like to that variable.
So, for example:
x = input('Enter the name of the new variable: ') Say the user enters: new_var
I want:
new_var = [0 1 2 3 4]
Can someone explain how to do this?
Thanks for the help
채택된 답변
추가 답변 (3개)
Andrei Bobrov
2012년 7월 4일
편집: Andrei Bobrov
2012년 7월 4일
x = input('Enter the name of the new variable: ','s');
eval([x,'=0:4;']);
댓글 수: 2
David Polcari
2012년 7월 4일
Arash Roozitalab
2018년 4월 18일
Hello. One might use
assignin('base',var_name, value)
to assign a
value
to a string
var_name = "given_name"
댓글 수: 1
Note that assignin suffers from all of the same problems as eval does: slow, complex, obfuscated code, buggy, and hard to debug. This does not depend on which command is used, but these problems are caused by the act of magically assigning values to variable names dynamically. See:
Beginners wanting to learn how to write neat, efficient MATLAB code that is easy to debug should focus on keeping their data in as few arrays as possible, and use indexing to access it. As has already been discussed many times on this forum, they should avoid using eval, assignin, etc.
카테고리
도움말 센터 및 File Exchange에서 Variables에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!