use string as a cell array.

조회 수: 1 (최근 30일)
jose bernardo
jose bernardo 2013년 10월 18일
댓글: Anthony 2013년 10월 19일
Hi:
I have various variables in the workspace: january_ns=1, february_ns=2, march_ns=3,.... Also I have an array like this: month={january february march }
I would like to show the content of the variable january_ns for example but using the array to show it.
To write month{1}_ns instead january_ns to show the value 1, for example.
I was trying with the next line, but it didnt work.
([month{1},'_ns',''])
Any idea to do that? Thanks.

채택된 답변

Anthony
Anthony 2013년 10월 18일
january_ns=1, february_ns=2, march_ns=3
month={'january' 'february' 'march' };
eval([month{1},'_ns'])
  댓글 수: 2
jose bernardo
jose bernardo 2013년 10월 18일
Thank you Anthony, It works perfectly.
Saludos!
Jan
Jan 2013년 10월 18일
@jose: It might work now, but Azzi's suggestion shows a much better strategy.

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

추가 답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2013년 10월 18일
편집: Azzi Abdelmalek 2013년 10월 18일
month={'january' 'february' 'march' }
month{1}
month{2}
% You don't need to create a variable january_ns. Can you explain why you want to create these variables?
  댓글 수: 4
Jan
Jan 2013년 10월 18일
+1: This solution is much better than the eval approach. It is a bad programming practice to store important information in the name of variables, because carrying values is a job for the contents of a variable, not for the name!
Anthony
Anthony 2013년 10월 19일
편집: Anthony 2013년 10월 19일
no doubt that it is not advisable to use 'eval' , well, in most cases. (just give what is closest to the code you describe without knowing what/why you want to do. not intend to teach any coding habit :P)

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

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by