How can I get the values from my structure?

2 visualizaciones (últimos 30 días)
Abner Ojeda
Abner Ojeda el 1 de Mayo de 2020
Comentada: Ameer Hamza el 1 de Mayo de 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

Respuesta aceptada

Ameer Hamza
Ameer Hamza el 1 de Mayo de 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 comentarios
Abner Ojeda
Abner Ojeda el 1 de Mayo de 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 el 1 de Mayo de 2020
I am glad to be of help.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Structures en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by