Nested For Loop for 2D Matrix
3 ビュー (過去 30 日間)
古いコメントを表示
I want to create a nested for loop that essentially goes through a 2D matrix of 600x1000 dimensions, such that in every loop in both of the dimensions it picks out exactly 51x51 part of the 2D matrix in either of the dimensions and multiplies it to another 51x51 separate matrix.
0 件のコメント
採用された回答
Matt J
2019 年 11 月 11 日
編集済み: Matt J
2019 年 11 月 11 日
So then you want to extract random 51x51 submatrices? If so, then,
I=sort(randperm(600,51));
J=sort(randperm(1000,51));
submatrix= matrix(I,J);
2 件のコメント
Matt J
2019 年 11 月 11 日
Is it element-wise multiplication, or another kind? And what is to be done with each of the 51x51 multiplication results? In double floating point, this will require 10 GB of storage if they are kept simultaneously in memory,
>> (600-51)*(1000-51)*51^2*8/2^30
ans =
10.0965
その他の回答 (1 件)
Matt J
2019 年 11 月 11 日
I vaguely wonder whether you are just re-inventing convolution
result = conv2(Matrix,staticMatrix,'valid');
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!