Delete single values from a structure field

6 visualizzazioni (ultimi 30 giorni)
Mary
Mary il 8 Giu 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!

Risposte (2)

Sean de Wolski
Sean de Wolski il 8 Giu 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 Commenti
Andreas
Andreas il 5 Mar 2012
How would you do it with Matlab Coder that does not support anonymous functions?
Walter Roberson
Walter Roberson il 5 Mar 2012
Loop over fieldnames() of the structure and use dynamic field names (if those are supported.)

Accedi per commentare.


Mary
Mary il 9 Giu 2011
Worked perfectly! Thanks so much! And thanks for the welcome. :)

Categorie

Scopri di più su Structures in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by