How can I get a variable name to include a string of text?
14 ビュー (過去 30 日間)
古いコメントを表示
I need a series of variable names to have the same text included in the name. Is there a way to do this? For example, I want something like:
text='AB1'
aAB1=1;
bAB1=2;
cAB1=3;
But rather than writing AB1 I want to call text and have that insert AB1 into the variable name. Basically a(text) is aAB1 and b(text) is bAB1.
I know this is bad practice and it makes matlab run slowly. However this would help me in my workplace a lot since i have about 1800 sets of data that need to be named in a certain pattern.
Thank you for your help, Jodok.
PS: I am working with release 2020b.
1 件のコメント
Stephen23
2022 年 5 月 24 日
編集済み: Stephen23
2022 年 5 月 24 日
"However this would help me..."
Unlikely.
"... since i have about 1800 sets of data that need to be named in a certain pattern."
Why do they need to be named in a particular pattern? What will you do with them?
Instead of describing the actual problem, you are describing your attempted solution:
Tell us what you are actually trying to achieve, what tools/functions/data you are using. Do not assume a solution.
回答 (2 件)
Mustafa Abu-Mallouh
2022 年 5 月 24 日
Instead of defining the variable name with text (as you mentioned, bad practice), would you be able to use a structure instead?
MATLAB lets you generate field names from variable data, see this link for more details:
0 件のコメント
Jan
2022 年 5 月 27 日
Read Stephen23's hints carefully, because they are valuable.
Storing important information in the names of variables is a programming anti-pattern. It produces more problems than it solves. Remember, that Matlab replaces variables by simple pointers to the data during the execution of the code, so keeping important details inthe names is a confusing indirection.
Store the information as data instead:
text = 'AB1';
names = sprintfc(['%c', text], 'abc')
data = [1,2,3]
Now you can work with the names array to identify the index of a specific value of data.
But currently it looks, like the redundant text can be omitted - because it is redundant...
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!