how to change values within an array to NaN

26 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;
  1 Comment
Harald von der Osten
Harald von der Osten on 18 Jan 2021
oh...much easier than I thought it would be...thanks a lot :-)

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!