我试图编写一个搜索列表并匹配术语的代码。在这种情况下,' bus'我当时尝试做的是获取该方法的距离和时间值,并将它们添加到单独的列表中。附件是我的代码
distanceb = [];
timeb = [];
for i =1:n
if strcmp(method(i),'bus') == 1
distanceb = (x(i))
timeb = time(i)
end
end
我可以获取x和时间的值,但代码似乎每次添加到列表时都会覆盖,我只得到一个distanceb和timeb的答案。有没有办法将值添加到列表而不覆盖以前的值?
答案 0 :(得分:2)
您要将新值分配给distanceb
和timeb
作为标量而不是列表/向量。
您需要附加值:
distanceb(end+1) = x(i);
timeb(end+1) = time(i);
一些评论:
如果您知道distanceb
和timeb
的最终尺寸,最好预先分配它们,而不是在循环内增长它们。