Replace values in grid data (3D) to NaN, like another (3D) have NaN
조회 수: 5 (최근 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!