我有一个 50x50 矩阵,我想对每 10x10(或另一个设置大小值 - 始终为正方形)重叠网格中的值求和,即:
为清楚起见,重叠窗口仅显示在对角线上。我尝试做的第一个任务是定义每个窗口的坐标:
win=10;
start = [1,10,1,10];
for y=1:(50-win)
for g=1:(50-win)
tmp = [start(g,1)+1,start(g,2)+1,start(end,3),start(end,4)];
start = [start;tmp];
end
start(end+1,1:4) = [1,10,1+y,10+y];
end
Run Code Online (Sandbox Code Playgroud)
然后我会遍历坐标列表,使用sum
每个窗口的逻辑索引。
问题#1:上面的代码不是特别有说服力。任何人都可以展示一种更“MATLABesque”的方式或更简洁的方式吗?
问题#2:然后我想在矩阵中定义一个特定的坐标(索引),例如m(26,26)
并获取包含该坐标的所有窗口的列表。但我不知道该怎么做。有人可以告诉我怎么做吗?