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 回答