Delete single values from a structure field

6 visualizaciones (últimos 30 días)
Mary
Mary el 8 de Jun. de 2011
Hello there,
I'm a newbie in Matlab, so please bare with me.
My problem: I have one structure array, with several fields each of different length. Each array contains values which can range between -1000 and 7000. (it's data from an experimental setup with so and so many repetitions, and each repetition gives me a different number of datapoints. I save the results from each repetition in a new field.)
I want to delete the values below zero in each field. But I just don't know how to do it; how to delete just specific elements from a field instead of the whole thing? Please help?! Thanks!

Respuestas (2)

Sean de Wolski
Sean de Wolski el 8 de Jun. de 2011
One way, assuming ALL fields need to have this applied:
structfun(@(x)x(x>=0),your_struct,'uni',false);
Welcome to MATLAB Answers!
  2 comentarios
Andreas
Andreas el 5 de Mzo. de 2012
How would you do it with Matlab Coder that does not support anonymous functions?
Walter Roberson
Walter Roberson el 5 de Mzo. de 2012
Loop over fieldnames() of the structure and use dynamic field names (if those are supported.)

Iniciar sesión para comentar.


Mary
Mary el 9 de Jun. de 2011
Worked perfectly! Thanks so much! And thanks for the welcome. :)

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by