这是我创建的函数的一段代码,它给出了一个在网格中找到的单词,并在网格中找到了单词。我在这里要做的是通过从起点(行和列等于)开始在给定方向上获得单词。 rowdir
和coldir
依赖于switch语句,如果方向是东北方向,例如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
答案 0 :(得分:1)
我猜你的row
和column
不是一个数字。所以你的
grid1(row + (index_1 * rowdir), column + (index_1 * ...
coldir))
实际上是一个2D数组,而word(len)
只是一个数字。
试试这个:
for index = 1:len
index_1 = index-1;
word = grid(row + (index_1 * rowdir), column + (index_1 * coldir));
testword{index} = word;
end