2017-02-08 6 views
0

행 열 반복과 관련하여 도움이 될지 궁금합니다.중앙 행과 열 주위에서 이웃 찾기 MATLAB

[행, 열]로 내 행, 열 위치가 있습니다. 예 : 이 코드를 실행하면 그러나 나는에 대응하는 (여러 값 (* 2700 매트릭스 300) 대신 300row X 9 열을 얻을

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)]; 

: 배열 내가 그들의 팔 개 이웃 값을 찾기 위해 노력하고

을 300X2 이웃) 배열.

모든 단서 환영 이상입니다,

고마워,

답변

1

row 경우 col 300x1하는 벡터,

matrix_cell_id(row, col) 

에 대한 호출은 지정된 행으로 최대 300x300 행렬을 반환합니다 및 열. 당신이 rowcol에 의해 인덱스를 특정 300x1 요소를해야하는 경우 sub2ind를 사용할 수 있습니다

matrix_cell_id(sub2ind(size(matrix_cell_id), row, col)) 
+0

덕분에이 트릭에 대한 많은! matrix_cell_id와 같은 크기의 matrix_area에도이 방법을 적용했습니다. 각 행을 검색하여 다른 행과 비교하는 방법을 알고 계십니까? 즉, 배열 (300x1)의 다른 번호와이 9 개의 숫자 각각을 비교하고 가장 가까운 값과 해당 ID를 취 하시겠습니까? 탄스크 많이 – Marcos