快重傳+慢開始
n=22;
sst=16;
tim=13;
cwnd=zeros(n,1);
fwnd=zeros(n,1);
rwnd=zeros(n,1);
frwnd=zeros(n,1);
x=zeros(n,1);
mw=10;
cwnd(1)=2;
fwnd(1)=2;
n=22;
tsst=sst;
for i=1:n
x(i)=i;
end
for i=2:n
if i==tim
cwnd(i)=1;
sst=floor(sst/2);
continue;
end
if cwnd(i-1)>=sst
cwnd(i)=cwnd(i-1)+1;
else
cwnd(i)=cwnd(i-1)*2;
end
end
sst=tsst;
for i=2:n
if i==tim
fwnd(i)=floor(fwnd(i-1)/2);
sst=floor(sst/2);
continue;
end
if fwnd(i-1)>=sst
fwnd(i)=fwnd(i-1)+1;
else
fwnd(i)=fwnd(i-1)*2;
end
end
for i=1:n
rwnd(i)=min(cwnd(i),mw);
end
for i=1:n
frwnd(i)=min(fwnd(i),mw);
end
plot(rwnd,'r');
hold on;
plot(cwnd,'g');
% plot(x,rwnd(x),'o');
hold on;
scatter(x,rwnd,'r');
set(gca,'xtick',x);
figure(2);
plot(frwnd,'r');
hold on;
plot(fwnd,'g');
% plot(x,rwnd(x),'o');
hold on;
scatter(x,frwnd,'r');
set(gca,'xtick',x);