Storing Outputs from a Nested Loop with a step

1 Ansicht (letzte 30 Tage)
Akila Udage
Akila Udage am 6 Apr. 2020
Kommentiert: Akila Udage am 8 Apr. 2020
data = xlsread ('file.xlsx' ,'sheet');
k=15;
for i = 1:16:128
for j= 1:16:128
submat = data(i:i+k,j:j+k);
Uniform(i,j) = (max(max(submat)))/(min(min(submat)))
end
In given code i want to store values i am getting for Uniform vector to 8 by 8 matrix. Problem here is since this has a step of 16 normal methods did not work.
Thnak you

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 6 Apr. 2020
Method 1:
data = xlsread ('file.xlsx' ,'sheet');
k=15;
for i = 1:16:128
for j= 1:16:128
submat = data(i:i+k,j:j+k);
Uniform((i-1)/16+1,(j-1)/16+1) = (max(max(submat)))/(min(min(submat)))
end
Method 2:
data = xlsread ('file.xlsx' ,'sheet');
k=15;
count_i = 1;
for i = 1:16:128
count_j = 1;
for j= 1:16:128
submat = data(i:i+k,j:j+k);
Uniform(count_i,count_j) = (max(max(submat)))/(min(min(submat)))
count_j = count_j + 1;
end
count_i = count_i + 1;
  1 Kommentar
Akila Udage
Akila Udage am 8 Apr. 2020
Thank you very much
i used the second method and it worked. but you have to make sure count_j = 0 before restarting the loop

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by