从Matlab中的函数向列表添加值

时间:2013-10-20 07:26:26

标签: list matlab overwrite

我试图编写一个搜索列表并匹配术语的代码。在这种情况下,' bus'我当时尝试做的是获取该方法的距离和时间值,并将它们添加到单独的列表中。附件是我的代码

distanceb = [];
timeb = [];
for i =1:n
 if strcmp(method(i),'bus') == 1
  distanceb = (x(i))
  timeb = time(i)
 end
end    

我可以获取x和时间的值,但代码似乎每次添加到列表时都会覆盖,我只得到一个distanceb和timeb的答案。有没有办法将值添加到列表而不覆盖以前的值?

1 个答案:

答案 0 :(得分:2)

您要将新值分配给distancebtimeb作为标量而不是列表/向量。
您需要附加值:

 distanceb(end+1) = x(i);
 timeb(end+1) = time(i);

一些评论:

  1. 如果您知道distancebtimeb的最终尺寸,最好预先分配它们,而不是在循环内增长它们。

  2. 最好是not to use i as a variable name in Matlab