MATLAB Answers

How to automize removal of NaN's for a structure?

3 views (last 30 days)
Hello! I have some NaN's in my structure, and have tried various things but what I've gotten to work, in order to change them to zero is the following:
CL.i0(isnan(CL.i0)) = 0;
CL.i1(isnan(CL.i1)) = 0;
CL.i2(isnan(CL.i2)) = 0;
CD.i0(isnan(CD.i0)) = 0;
CD.i1(isnan(CD.i1)) = 0;
CD.i2(isnan(CD.i2)) = 0;
CM.i0(isnan(CM.i0)) = 0;
CM.i1(isnan(CM.i1)) = 0;
CM.i2(isnan(CM.i2)) = 0;
Is there any way to change this to automize it for future code?
Thanks in advance guys.

  0 Comments

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 7 Apr 2020
In restricted cases where the structure fields are guaranteed to be simple data types, then you can use much smaller code.
structfun(@(F) fillmissing(F, 'constant', 0), CL, 'uniform', 0)

  0 Comments

Sign in to comment.

More Answers (0)

Sign in to answer this question.