我创建了一个队列缓冲区,需要生成队列中一段时间内的数据包数。我是一个初学者,并且在执行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')
答案 0 :(得分: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