2013-12-19 47 views
0

這是我創建的一個函數的代碼片段,它給出了在網格和網格中查找的單詞,找到它中的單詞。我想在這裏做的是從一個起點(這是行和列的相等)移動到一個給定方向的單詞。 rowdircoldir取決於switch語句,如果方向是東北,例如,rowdir=-1coldir=1。我想輸出這個單詞,然後在網格上繪製它。將元素添加到預定義的數組

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

如果我進入行和列的命令提示符下設置值,如5和rowdir相同的代碼並冷調整了一個特定的方向,並給出一個矩陣,它沒有問題,在提取單詞的方向指定字母的長度,所以我不確定問題在這裏。


(從附加信息發佈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)) 

實際上是一個二維數組,而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

它們的格式是[row,column]。我怎麼會這樣做更好? – user3058703

+0

嘗試testword {index} = word; – lennon310