how to change values within an array to NaN

21 views (last 30 days)
loading xyz-data into Matlab and interpolate that scattered data like this:
load f56.dat
x=f56(:,1); y=f56(:,2); z=f56(:,3);
F=scatteredInterpolant(x,y,z);
[xn yn]=meshgrid(min(x):0.01:max(x),min(y):0.01:max(y));
zn=F(xy,yn);
gives me 1950 values in x and 4000 in y.
Because of a region of bad data I would like to set that region to NaN for further processing. How can I set 1280 <= x <= 1950 and 3025 <= y <= 4000 to NaN ?
Thanks a lot.

Accepted Answer

Matt J
Matt J on 18 Jan 2021
Edited: Matt J on 18 Jan 2021
zn = F(xn,yn);
bad = (1280 <= xn & xn<=1950) & (3025 <= yn & yn <= 4000) ;
zn(bad)=nan;

More Answers (0)

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Tags

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!