Replace values in grid data (3D) to NaN, like another (3D) have NaN
13 次查看(过去 30 天)
显示 更早的评论
Hi to all
I have grid data VWind=300*16*21 and
SST=300*16*21 have NaN values
How i can to the replace NaN value at VWind data to the same location in SST data
Thanks in advance
0 个评论
采纳的回答
Sulaymon Eshkabilov
2020-8-6
It can be done very easily with a logical indexing opt: e.g.:
Index = isnan(SST);
VWind(Index)=NaN;
Now you can compare and verify the elements of SST and VWind using sum() operator, for instance.
Good luck.
3 个评论
James Karden
2021-2-1
How could I get this to loop over each time step (let's say over 40 years) if I have a matrix of lat x lon x time?
Walter Roberson
2021-2-1
If SST is 3D then you would not normally work by timestep: you would normally just do
VWind(isnan(SST)) = NaN;
If you need to work timestep by timestep for some reason, then see https://www.mathworks.com/matlabcentral/answers/731168-extract-specific-data-from-3d-matrix#answer_610468 for some ways in which you can extract information slice by slice.
更多回答(1 个)
Sudheer Bhimireddy
2020-8-6
I don't know if I understood your question properly, but here goes:
If you have NaN values in SST matrix and would like to replace VWind values to NaN wherever SST(i,j,k)=NaN:
VWind(isnan(SST)) = nan;
Similarly if VWind already has NaNs, to make corresponding indices of SST to NaN:
SST(isnan(VWind)) = nan;
If you run both these commands, then both your matrices will have same number of NaN values at same locations.
Hope this helps.
2 个评论
James Karden
2021-2-1
How could I get this to loop over each time step (let's say over 40 years) if I have a matrix of lat x lon x time?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interpolation of 2-D Selections in 3-D Grids 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!