1

リストを検索して用語に一致するコードを作成しようとしています。この場合、「バス」で私がやろうとしているのは、その方法の距離と時間の値を取得し、それらを別のリストに追加することです。添付は私のコードです

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

x と time の値を取得できますが、リストに追加するたびにコードが上書きされるようで、distanceb と timeb の答えは 1 つしか得られません。前の値を上書きせずにリストに値を追加する方法はありますか?

4

1 に答える 1

3

リスト/ベクトルとしてではなく、スカラーとして新しい値を割り当てdistancebています。 値を追加する必要があります:timeb

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

いくつかの注意事項:

  1. の最終的なサイズがわかっている場合は、distancebそれらtimebを事前に割り当て、ループ内で大きくしないことをお勧めします。

  2. Matlab で変数名として使用しないことをiお勧めします。

于 2013-10-20T07:37:17.517 に答える