standardizeMissing not converting selected values to NaN

1 view (last 30 days)
I'm having trouble getting standardizeMissing to perform its function. I have a 3x4209 array of int32 values called bl_height. Some of the values are -999. I'm trying to change the -999 values to NaN using standardizeMissing, but the -999 values are retained. Can someone tell me what I'm doing wrong? I've tried pretty much every iteration of standardizeMissing possible. Here's my code below:
bl_height=ncread(filename,'bl_height');
bl_height_edited = standardizeMissing(bl_height,-999);

Accepted Answer

Taylor
Taylor on 4 Apr 2024
It's because your values are integers not doubles. There is no room for a NaN value when using integers. The documentation for the input data to standardizeMissing specifies that the input should be one of the following data types: double | single | char | string | cell | table | timetable | categorical | datetime | duration
  2 Comments
Christopher Traft
Christopher Traft on 4 Apr 2024
Thanks, it worked after I converted the values to doubles. Changed my first line to:
bl_height = double(ncread(filename,'bl_height'));
Taylor
Taylor on 4 Apr 2024
Great! Just be aware that if you try to convert back to integers the NaN values will become 0s.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!