Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.



Re: get struct field including empty values
Posted:
May 10, 2013 4:25 PM


"John " <john.wielenbroek@tivaro.nl> wrote in message news:kmj4kc$emn$1@newscl01ah.mathworks.com... > I have conducted an experiment and saved all trials as a structure with > relevant parameters as fields. > > If I only want to use the correct trials, I am using: > indices = find([allData.correct]==1); > > However, It is only now (that I am using this strucure with over 30'000 > trials that I discover that this works incorrectly when some of the field > values are empty or not a number. > Then length(allData.correct) < length(allData)
It works correctly. It doesn't work the way you expected. Those are two different things.
x = [1 [] 3] % The result is a 2element vector [1 3].
Normally concatenation like that requires all the quantities being concatenated to have the same number of rows. For backwards compatibility, if I remember correctly, concatenating with [] is exempt from that requirement and the [] is squeezed out of the resulting vector. I requested that the development staff work on getting that documented in an easytofind location.
> How do I obtain an array of all the trials values of a specific field, > which is representive with respect to the index number?
What does it mean for allData(17).correct to be empty or NaN? [I chose 17 arbitrarily.] Shouldn't allData(n).correct be required to ALWAYS contain either true or false? I would likely make my code default to allData.correct being false, then only if I validate that the data is correct should the field be changed and it should only be changed to true.
 Steve Lord slord@mathworks.com To contact Technical Support use the Contact Us link on http://www.mathworks.com



