For loop not stopping

1 view (last 30 days)
Hrvoje Lukacic
Hrvoje Lukacic on 1 Dec 2022
Commented: Hrvoje Lukacic on 1 Dec 2022
Hi! I have a raster file in tiff format which has some values set to -9999. I wrote a small code that should replace all -9999 values with NaN. Whren I execute the code the loop just keeps on going and it wont stop and generate the result. Can you please hel me figure out why? I am not attaching the raster because it is to big.
%reading Raster Input data from a file
[aspect, A] =readgeoraster('Aspect_0,5m.tif');
[slope, A] = readgeoraster('Slope_0,5m.tif')
imagesc(aspect)
%reading csv Input data from a file
discontinuity_orientations =readtable('orientations.xlsx') ;
for i =1:size(aspect,1)
if aspect (i,1)==-9999
aspect (i,1) = NaN
end
end

Accepted Answer

David Hill
David Hill on 1 Dec 2022
Instead of a for-loop, just do it all at once.
idx=aspect(:,1)==-9999;
aspect(idx,1)=nan;
  1 Comment
Hrvoje Lukacic
Hrvoje Lukacic on 1 Dec 2022
Thank you for your answer !! But just in case, how to I make a for loop which goes from element to element and does some operation?

Sign in to comment.

More Answers (1)

VBBV
VBBV on 1 Dec 2022
Edited: VBBV on 1 Dec 2022
if ismember(-9999,aspect(i,1))
Check using ismember

Tags

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!