How to remove NaN from matrix / remove the dark blue pixels in the ocean
3 views (last 30 days)
Show older comments
Jianne Pamintuan
on 1 Dec 2022
Commented: Jianne Pamintuan
on 1 Dec 2022
Hello everyone,
I have a rainfall plot and the dataset was acquired from APHRODITE. NaN values are located in the ocean regions/basins which is represented by dark blue pixels outside the administrative boundary in the image. Is there a way to completely remove them? Attached here are the plot itself and the matrix. I have tried 'isnan' and 'isinfinite' but none of them work.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1214388/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1214393/image.png)
Your help is greatly appreciated. Thank you!
0 Comments
Accepted Answer
Matt J
on 1 Dec 2022
Edited: Matt J
on 1 Dec 2022
You can't remove the NaNs and keep the original rectangular shape of the matrix without replacing the NaNs with another value, e.g.,
yourMatrix(isnan(yourMatrix)) = 0;
If you don't care about keeping the original rectangular shape, you can just do,
yourMatrix(isnan(yourMatrix)) = [];
3 Comments
Matt J
on 1 Dec 2022
There's no way they both return the same output, as seen below:
a=rand(5)>0.5;
yourMatrix=rand(5).*(a./a)
A=yourMatrix;
A(isnan(A)) = 0
B=yourMatrix;
B(isnan(B)) = []
More Answers (2)
Walter Roberson
on 1 Dec 2022
I suggest you experiment with @John D'Errico FEX contribution https://www.mathworks.com/matlabcentral/fileexchange/4551-inpaint_nans
0 Comments
See Also
Categories
Find more on NetCDF in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!