⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 block_homework.m

📁 无线通信中阻塞率的仿真
💻 M
字号:
%%%lambda=12;
mu=6;
s=10;
a=0;
b=0;
text_num=1000;%%%%试验次数。
systemnum=0;%%系统人数初始值为0。
C=s+5;    %%即系统容量为15,即可以有5个人在等待。
block_num=0;%%%用于实际仿真 时记录出现阻塞的次数
p1=0;    %%%用于记录理论值
p2=0;    %%%用于记录仿真值

 %%%%%%%%%%%%理论值计算 
for lambda=1:50;        %%%是lambda在(1:50)之间变化,画出不同的lambda的阻塞率
    p1=0;
for n=0:s-1
    
  a=a+(lambda/mu)^n/factorial(n);

for n=s:C     
    p(n)=((lambda/mu)^s)*((lambda/mu/s)^(n-s))/factorial(s);
b=b+p(n);
end
end
c=1/(a+b);

for n=C:s+50;     %%%%%设C=S+5,即可以有5个人在等待,5个人后为阻塞的情况
  p(n)=c*((lambda/mu)^s)*((lambda/mu/s)^(n-s))/factorial(s);
 p1=p1+p(n);               %%%%%%%产生理论的阻塞率。
end

d(lambda)=p1;
end
figure(1);
plot(d)
%%%%%%%%%%%%%%%%%%%%%%%%%用实际情况仿真
for lambda=1:50;
    p2=0;
    block_num=0;          %%%每次循环计数器清零
    systemnum=0;
  m=round(rand(1,text_num)*24);%%%产生text_num个独立(1,24)的随机数。
     for i=1:text_num;          %%%每个 lambda都取1000个样值
     for j=1:m(i);              %%%每个样值都模拟到指定的时刻,然后观察该时刻是否出现阻塞。
         comenum = poissrnd(lambda); %%%在(1:m(i))时间内每个时刻都赋予来的人数和服务人数的值
         sevicenum= poissrnd(mu);
      
          systemnum=systemnum+comenum-s*sevicenum;%%%%当前时刻系统人数为上时刻系统人数
                                                  %%%%与当前时刻系统来的人数减去系统服务掉的人数
     if   systemnum<0          %%%systemnum>=0
              systemnum=0;
     end
     end  
           if systemnum>C        %%%若系统人数>系统容量,则阻塞,计数器累加。
              block_num=block_num+1; 
           end
     end
           p2=block_num/text_num;

           f(lambda)=p2;
end
figure(2);
        plot(f);
         
         
         
         
         
         
         
         
         
         
         

    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -