这是我创建的一个函数的代码片段,该函数给定了一个要在网格中查找的单词,然后网格在其中查找单词。我在这里要做的是通过从一个起点(行和列等于什么)移动,使单词朝着给定的方向移动。rowdir
和coldir
取决于切换语句,其中如果方向是东北方向,例如rowdir=-1
和coldir=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和coldir并给定矩阵,那么在指定的字母长度方向提取单词没有问题,所以我不确定这里的问题是什么。
(根据附加发布信息编辑):
我还尝试了以下操作,结果出现了相同的错误消息。我很难理解为什么。
testword= [];
for index = 1:len
index_1 = index-1;
word = grid(row + (index_1 * rowdir), column + (index_1 * coldir));
testword(end+1) = word;
end
我猜您的row
和column
不是一个数字。所以你的
grid1(row + (index_1 * rowdir), column + (index_1 * ...
coldir))
实际上是2D阵列,而CCD_。
试试这个:
for index = 1:len
index_1 = index-1;
word = grid(row + (index_1 * rowdir), column + (index_1 * coldir));
testword{index} = word;
end