Delete single values from a structure field

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!

Antworten (2)

Sean de Wolski
Sean de Wolski am 8 Jun. 2011

0 Stimmen

One way, assuming ALL fields need to have this applied:
structfun(@(x)x(x>=0),your_struct,'uni',false);
Welcome to MATLAB Answers!

2 Kommentare

Andreas
Andreas am 5 Mär. 2012
How would you do it with Matlab Coder that does not support anonymous functions?
Walter Roberson
Walter Roberson am 5 Mär. 2012
Loop over fieldnames() of the structure and use dynamic field names (if those are supported.)

Melden Sie sich an, um zu kommentieren.

Mary
Mary am 9 Jun. 2011

0 Stimmen

Worked perfectly! Thanks so much! And thanks for the welcome. :)

Kategorien

Tags

Gefragt:

am 8 Jun. 2011

Community Treasure Hunt

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

Start Hunting!

Translated by