0

キューバッファを作成しましたが、時間の経過とともにキュー内のパケット数のプロットを生成する必要があります。私は初心者で、whileループを実行した後、毎回バッファにパケット数を格納する方法を見つけることができません。したがって、プログラムを実行すると、ループの終了時にキューにあるパケット数のプロットが表示されます。ループの実行のすべての段階で、時間の経過とともに「Q」のプロットを取得する方法を誰かが提案できますか?以下のコードを提供しました。

%Queue Buffer%
Q=0;%queue length
s=10;%Number of packets departing from queue at each time
Q2=0;%New queue length
Ti=0;%Number of times packets arrive
while Ti<=20
   Q=0+Q2;
   a= randi(32,1,1);
   a1=a-s;
   a2=Q+a1;
   Q2= max(0,a2);
   Ti=Ti+1;
end
    t=0:1:100;
    plot (t,Q,'o')
4

1 に答える 1

1

簡単な方法

Q = [];
%For loop start
Q = [Q Q2];
%End for loop

もっといい方法

Q = zeros(1,101); %Since you are plotting from 0:1:100. (Default step is 1, so 0:1:100 = 0:100)
cnt = 1;
%For loop start
Q(cnt) = Q2;
cnt = cnt + 1;
%End for loop
于 2011-11-25T13:22:00.727 に答える