0

我想知道是否有人可以帮助我处理行列循环。

我的行,列位置为 [行,列]。例如阵列 300X2

我试图找到他们的 8 个邻居值:

neighbors_id= [matrix_cell_id(row, col),...
    matrix_cell_id(row-1, col-1),...
    matrix_cell_id(row-1, col),...
    matrix_cell_id(row-1, col+1),...
    matrix_cell_id(row, col-1),...
    matrix_cell_id(row, col+1),...
    matrix_cell_id(row+1, col-1),...
    matrix_cell_id(row+1, col),...
    matrix_cell_id(row+1, col+1)];

但是,当我运行此代码时,我得到多个值(矩阵 300*2700)而不是 300 行 x 9 列(对应于那些邻居)数组。

任何线索都非常受欢迎,

非常感谢,

4

1 回答 1

1

如果rowcol是 300x1 向量,则调用

matrix_cell_id(row, col)

将返回具有指定行和列的 300x300 子矩阵。row如果您需要由and索引的特定 300x1 元素col,您可以使用sub2ind

matrix_cell_id(sub2ind(size(matrix_cell_id), row, col))
于 2017-02-08T16:28:01.130 回答