Storing Outputs from a Nested Loop with a step

1 回表示 (過去 30 日間)
Akila Udage
Akila Udage 2020 年 4 月 6 日
コメント済み: Akila Udage 2020 年 4 月 8 日
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

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 4 月 6 日
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 件のコメント
Akila Udage
Akila Udage 2020 年 4 月 8 日
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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by