How can I get a variable name to include a string of text?
18 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentario
Stephen23
el 24 de Mayo de 2022
Editada: Stephen23
el 24 de Mayo de 2022
"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.
Respuestas (2)
Mustafa Abu-Mallouh
el 24 de Mayo de 2022
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 comentarios
Jan
el 27 de Mayo de 2022
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 comentarios
Ver también
Categorías
Más información sobre Characters and Strings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!