Azzera filtri
Azzera filtri

Use string to index variables

4 visualizzazioni (ultimi 30 giorni)
Matteo Bonhomme
Matteo Bonhomme il 4 Ott 2022
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 Commenti
Stephen23
Stephen23 il 4 Ott 2022
Modificato: Stephen23 il 4 Ott 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
ans = 43
ans = 55
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.
Matteo Bonhomme
Matteo Bonhomme il 4 Ott 2022
It worked !!!
Thank you :)

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Structures in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by