2013-12-19 2 views
0

이것은 내가 생성 한 함수의 코드 스 니펫이며 그리드와 그리드에서 찾을 단어가 있으면 단어를 찾습니다. 내가 여기서하려고하는 것은 출발점 (어떤 행과 열이 같은지)에서 이동하여 주어진 방향으로 단어를 얻는 것입니다. rowdircoldir은 방향이 북동쪽 인 경우 예 : rowdir=-1coldir=1 인 switch 문에 따라 다릅니다. 단어를 출력하고 그리드에 그려 봅니다.미리 정의 된 배열에 요소 추가하기

word = zeros(1,len); 
for index = 1:len 
    index_1 = index-1; 
    word(index) = grid1(row + (index_1 * rowdir), column + (index_1 * coldir)); 
end 

는이 오류를 수신하고 그것을 해결하는 방법을 잘 모르겠어요 :

In an assignment A(I) = B, the number of elements in B and I must be the 
same. 

Error in jifjffj (line 43) 
     word(index) = grid1(row + (index_1 * rowdir), column + (index_1 * 
     coldir)); 

I는 5 rowdir 같은 값으로 설정 행과 열을 사용하여 명령 프롬프트에서 동일한 코드를 입력하면 그리고 coldir 특정 방향에 대한 조정 및 매트릭스 주어진, 그것은 문자의 길이에 대한 그 방향으로 단어를 추출에 아무런 문제가 그래서 내가 무슨 문제가 여기 확실하지 않습니다.


(추가 게시 된 정보에서 EDIT) :

는 또한 동일한 오류 메시지가 발생 다음을 시도했다. 나는 이유를 이해하려고 고심하고있다.

testword= []; 
for index = 1:len 
    index_1 = index-1; 
    word = grid(row + (index_1 * rowdir), column + (index_1 * coldir)); 
    testword(end+1) = word; 
end 
+0

[행, 열 = (타겟 (1) == 그리드) 발견; 여기서 target은 찾고있는 단어입니다. – user3058703

답변

1

나는 하나의 숫자없는 당신의 rowcolumn 같아요. 그래서

grid1(row + (index_1 * rowdir), column + (index_1 * ... 
     coldir)) 

은 실제로는 2 차원 배열이며 word(len)은 하나의 단일 번호입니다.

이 시도 :

for index = 1:len 
    index_1 = index-1; 
    word = grid(row + (index_1 * rowdir), column + (index_1 * coldir)); 
    testword{index} = word; 
end 
+0

글자는 [행, 열] 형식입니다. 어떻게하면 좋을까요? – user3058703

+0

try testword {index} = 단어; – lennon310