Use string to index variables
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hello,
So far I have data that depend on several parameter, something like that
%data first index is the year 1 for 2021 2 for 2022
%data second index is the person 1 for Ana 2 for Bob
%data third index is 1 the size 2 the age
data[1,2,2]=43; %the age of BOB in 2021
I want something like this
data['2021','Bob','age']=43;
And ideally if I want to add someone else I could just do
data['2021','Camille','age']=55; %adding a new person
Is there any syntaxe in matlab that allows me to do that ?
4 comentarios
Stephen23
el 4 de Oct. de 2022
Editada: Stephen23
el 4 de Oct. de 2022
Note that in MATLAB square brackets are a concatenation operator, so your code
['Bob','Alice']
is exactly equivalent to
'BobAlice'
"This doesn't work for me because I'd like to do stuff like this"
It works for me:
data.y2021.Bob.age = 43;
data.y2021.Alice.age = 55;
for name = ["Bob","Alice"]
data.y2021.(name).age
end
If you have a recent enough version, you could possibly use a dictionary:
Note that meta-data is data, and most tasks are easier to solve in MATLAB when data is stored in variables.
Respuestas (0)
Ver también
Categorías
Más información sobre Structures 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!