📄 gagljoutputdraw.m
字号:
function randmatrixdraw()
N=4;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% 流量负载U分别取值为[3,5,7,9,11,13,15,17,19,21,23,25,27,29] %%%%%%%%
%%%%% 随机产生对应的14个流量矩阵T,分别用BV、GLJ算法计算 %%%%%%%%
%%%%% 画负载-抖动曲线图 %%%%%%%%
%%%%% 画负载-需求带宽曲线图 %%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%% 初始化
U(1)=3;
for i=2:14
U(i)=U(i-1)+2;
end
for i=1:14
k=2*i+1;%使流量负载U分别=[3,5,7,9,11,13,15,17,19,21,23,25,27,29]
for j1=1:N
for j2=1:N
T(j1,j2)=unidrnd(k);%%%随机产生流量矩阵T
end
end
%%%%%%%%%%%%%% 调用GLJ算法
[table,len,gljbandsize(i),gljminband(i),matrixnumb(i,1)]=glj(T);
gljjitter(i)=gljjit(table,len,T);
%%%%%%%%%%%%%% 调用BV算法
TIMES=1;%%%%%% bv分解循环次数,求最差的抖动性能
bvjitter(i)=0;
bvbandsize(i)=0;
for j=1:TIMES
[table,len,tempbandsize(j),matrixnumb(i,2)]=bv(T);
tempjitter(j)=bvjit(table,len,T);
if bvjitter(i)<tempjitter(j)
bvjitter(i)=tempjitter(j);
bvbandsize(i)=tempbandsize(j);
end
end
end
for i=1:14
bvoutput(i)=10*U(i)/bvbandsize(i);
gljoutput(i)=10*U(i)/gljbandsize(i);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%% 画GLJ、GA算法的负载-吞吐量对比图 %%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% 画GA算法的U-B图
figure;
i=1:14;
plot(U(i),bvoutput(i),'-r.','MarkerSize',20);
hold on;
grid on;
%%%%%% 画GLJ算法的U-B图
i=1:14;
plot(U(i),gljoutput(i),'-b.','MarkerSize',15);
legend('GA算法','GLJ算法','Location','NorthWest');
xlabel('U:端口间业务最大负载');
ylabel('吞吐量');
title('4*4端口交换机,吞吐量-负载特性曲线图');
axis([0,30,0,5]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -