Filter löschen
Filter löschen

How can I get the values from my structure?

2 Ansichten (letzte 30 Tage)
Abner Ojeda
Abner Ojeda am 1 Mai 2020
Kommentiert: Ameer Hamza am 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

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by