Calculate frequency for each gridded

Hi. Is it possible that I want to,
Change the value of -1.00 untill -3.00 tu 1 and the rest as 0. Then, I want to know how much 1 in each grid, how can I calculate how much amount of 1?

 Risposta accettata

Let A be your matrix/ grid.
idx = A<-1 & A>-3 ;
A(idx) = 1 ;
A(~idx) = 0 ;
nnz(A==1)
nnz(A==0)

5 Commenti

for i=1:5
for j=1:11
YES(:,i,j) = nnz((idx(:,i,j))==1);
NO(:,i,j) = nnz((idx(:,i,j))==0);
end
end
Then,
for i=1:5
for j=1:11
Freq(:,i,j)=YES(:,i,j)/420;
end
end
Lastly,
for i=1:5
for j=1:11
New_freq(:,i,j)=Freq(:,i,j)*100;
end
end
Is this okay?
I want to apply this formula for each grid:
Frequency=num of drought months/total month*100
As I want to plot it spatially.
Anyone can please help me?
You need not to apply a loop. You can do all at once.
But, is my way above is okay? Im not really good at looping yet
yes = 0 ; no = 0 ;
for i=1:5
for j=1:11
if idx(i,j)==1
yes = yes+1 ;
elseif idx(i,j) == 0
no = no+1 ;
end
end
end
sir, thank you very much. i will try to understand looping better

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su MATLAB in Centro assistenza e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by