필터 지우기
필터 지우기

Is there any way to access a variable whose name is expressed by another string variable?

조회 수: 12 (최근 30일)
Is there any way in MATLAB to access a variable whose name is expressed by another string variable?
for example, when
myvar = 10;
string_myvar = "myvar";
were in the workspace and substituting the numerical scalar myvar into another myvar2 as
myvar2 = myvar;
Id’ like to find a way to give the right hand side "as the content of string scalar ‘string_myvar’ ".
  댓글 수: 7
Stephen23
Stephen23 2021년 8월 5일
편집: Stephen23 2021년 8월 5일
Get rid of FIND: logical indexing is simpler.
The robust and efficient approach would be to put all of the variables into one container array (e.g. structure, cell array, table) and then use ISMEMBER or dynamic fieldnames or something similar to select the ones for the output.
For example:
C = {arg1,arg2,..,argN};
N = {'x1','x2',..,'xN'};
userwants = ["x1","x3"];
[X,Y] = ismember(userwants,N);
assert(all(X),'no match')
varargout = C(Y)

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

답변 (1개)

Chunru
Chunru 2021년 8월 5일
myvar = 10;
string_myvar = "myvar2";
assignin('base', string_myvar, myvar);
myvar2
myvar2 = 10

카테고리

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

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by