For loop not stopping

2 visualizzazioni (ultimi 30 giorni)
Hrvoje Lukacic
Hrvoje Lukacic il 1 Dic 2022
Commentato: Hrvoje Lukacic il 1 Dic 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

Risposta accettata

David Hill
David Hill il 1 Dic 2022
Instead of a for-loop, just do it all at once.
idx=aspect(:,1)==-9999;
aspect(idx,1)=nan;
  1 Commento
Hrvoje Lukacic
Hrvoje Lukacic il 1 Dic 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?

Accedi per commentare.

Più risposte (1)

VBBV
VBBV il 1 Dic 2022
Modificato: VBBV il 1 Dic 2022
if ismember(-9999,aspect(i,1))
Check using ismember

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by