Effacer les filtres
Effacer les filtres

How can I get the values from my structure?

2 vues (au cours des 30 derniers jours)
Abner Ojeda
Abner Ojeda le 1 Mai 2020
Commenté : Ameer Hamza le 1 Mai 2020
Hey, maybe my question is pretty easy to solve. I have a struct array, build by a "solve" function. I need to get those values, but I don't know how many values the struct could get, because it depends in the input of the user. As you can see, this make it well but only for 2 values, if I get a structure for 3 values even if I change the value of "i" it doesn't work. Thanks in advance for all your help.
pc=solve (y, [x]);
pucr= fieldnames (pc);
for i= 1:2
vals(i, 1)= getfield(pc,pucr{i});
end

Réponse acceptée

Ameer Hamza
Ameer Hamza le 1 Mai 2020
Use numel() to fine the number of elements in pucr.
pc=solve (y, [x]);
pucr= fieldnames (pc);
for i= 1:numel(pucr)
vals(i, 1)= getfield(pc,pucr{i});
end
Now the for loop will run as many times as the number of fields in pucr.
  2 commentaires
Abner Ojeda
Abner Ojeda le 1 Mai 2020
I've just tried it and it works pretty well. I tried with different numbers of variables (1, 5, 10, 8), in all cases works awesome. Thanks for the help, Ameer :)
Ameer Hamza
Ameer Hamza le 1 Mai 2020
I am glad to be of help.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by