Azzera filtri
Azzera filtri

How can I get the values from my structure?

2 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Ameer Hamza
Ameer Hamza il 1 Mag 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 Commenti
Abner Ojeda
Abner Ojeda il 1 Mag 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 il 1 Mag 2020
I am glad to be of help.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by