init_mob

PURPOSE ^

initialization of the mobile's structure

SYNOPSIS ^

function [mob] = init_mob(par)

DESCRIPTION ^

 initialization of the mobile's structure

  INPUT
   par         general parameters structure

  OUTPUT
   mob         mobiles structure


 $Id: init_mob.m,v 1.12 2004/07/19 06:51:35 dalai Exp $

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 % initialization of the mobile's structure
0002 %
0003 %  INPUT
0004 %   par         general parameters structure
0005 %
0006 %  OUTPUT
0007 %   mob         mobiles structure
0008 %
0009 %
0010 % $Id: init_mob.m,v 1.12 2004/07/19 06:51:35 dalai Exp $
0011 
0012 function [mob] = init_mob(par)
0013 
0014 rand('state',sum(100*clock));
0015 randn('state',sum(100*clock));
0016 
0017 % initiate mobiles' positions
0018 switch(par.model)
0019 
0020 case 1
0021     for m = 1:par.mob
0022         % initiate mobiles' position
0023         mob(m).xy(1) = 2*par.r*(rand-0.5)+i;
0024 
0025         % initiate mobiles' messages states
0026         mob(m).msg_mcn(1:par.msg) = -1;
0027         mob(m).msg_std(1:par.msg) = -1;
0028 
0029         % initiate mobiles' maximum buffer durring simulation
0030         mob(m).buffer_std(1:par.tmax) = 0;
0031         mob(m).buffer_mcn(1:par.tmax) = 0;
0032         mob(m).buffer_self(1:par.tmax) = 0;
0033 
0034         % initate mobiles' speed
0035         if m <= par.nb_pedestrian
0036             mob(m).vstate = 1/20;
0037             mob(m).v(1) = par.pspeed*(-1)^m;
0038         else    
0039             mob(m).vstate = 1/20;
0040             mob(m).v(1) = par.vspeed*(-1)^m;
0041         end
0042     end
0043 
0044 case 2
0045     for m = 1:(par.mob)
0046         % initiate mobiles' position
0047         mob(m).xy(1) = [2*par.r*(rand-0.5) (round(2*par.r/par.build_width*(rand-0.5))*par.build_width+par.build_width/2)]*i^m*[1 i]';
0048 
0049         % initiate mobiles' messages states
0050         mob(m).msg_mcn(1:par.msg) = -1;
0051         mob(m).msg_std(1:par.msg) = -1;
0052 
0053         % initiate mobiles' maximum buffer durring simulation
0054         mob(m).buffer_std(1:par.tmax) = 0;
0055         mob(m).buffer_mcn(1:par.tmax) = 0;
0056         mob(m).buffer_self(1:par.tmax) = 0;
0057 
0058         % initate mobiles' speed
0059         if m <= par.nb_pedestrian
0060             mob(m).vstate = 1/20;
0061             mob(m).v(1) = par.pspeed*i^m;
0062         else    
0063             mob(m).vstate = 1/20;
0064             mob(m).v(1) = par.vspeed*i^m;
0065         end
0066     end
0067 
0068 case 3
0069     for m= 1:par.mob
0070         % initiate mobiles' position
0071         I = ones(3,1);
0072         I(ceil(3*rand),1) = 0;
0073         mob(m).xy(1) = par.dist_bs/2*sum(rand(3,1).*I.*exp([1:4:9]*i*pi/6)') + par.sites(ceil(rand*size(par.sites,2)));
0074     
0075         % initiate mobiles' messages states
0076         mob(m).msg_mcn(1:par.msg) = -1;
0077         mob(m).msg_std(1:par.msg) = -1;
0078 
0079         % initiate mobiles' maximum buffer durring simulation
0080         mob(m).buffer_std(1:par.tmax) = 0;
0081         mob(m).buffer_mcn(1:par.tmax) = 0;
0082         mob(m).buffer_self(1:par.tmax) = 0;
0083 
0084         % initate mobiles' speed
0085         if m <= par.nb_pedestrian
0086             mob(m).vstate = 1/20;
0087             mob(m).v(1) = par.pspeed*exp(2*i*pi*rand);
0088         else    
0089             mob(m).vstate = 1/20;
0090             mob(m).v(1) = par.vspeed*exp(2*i*pi*rand);
0091         end
0092     end
0093 
0094 end

Generated on Sun 15-Aug-2004 22:13:10 by m2html © 2003