0
在ns-2的EnergyModule()方法中,参数为l1
和l2
,我想知道层的含义,为什么我们称它为水平。设置它的目的是什么?能源模型()中的l1和l2在ns2中的含义
EnergyModel::EnergyModel (
MobileNode * n,
double energy,
double l1,
double l2
)
在ns-2的EnergyModule()方法中,参数为l1
和l2
,我想知道层的含义,为什么我们称它为水平。设置它的目的是什么?能源模型()中的l1和l2在ns2中的含义
EnergyModel::EnergyModel (
MobileNode * n,
double energy,
double l1,
double l2
)
L1和L1是相对于能量耗尽而改变节点颜色的值。 double l1 = 0.5; double l2 = 0.2;
if (srcnode) {
if (srcnode->energy_model()) {
energy = srcnode->energy_model()->energy();
initenergy = srcnode->energy_model()->initialenergy();
l1 = srcnode->energy_model()->level1();
l2 = srcnode->energy_model()->level2();
}
}
int energyLevel = 0 ;
double energyLeft = (double)(energy/initenergy) ;
if ((energyLeft <= 1) && (energyLeft >= l1)) energyLevel = 3;
if ((energyLeft >= l2) && (energyLeft < l1)) energyLevel = 2;
if ((energyLeft > 0) && (energyLeft < l2)) energyLevel = 1;
if (energyLevel == 0)
strcpy(colors,"-c black -o red");
else if (energyLevel == 1)
strcpy(colors,"-c red -o yellow");
else if (energyLevel == 2)
strcpy(colors,"-c yellow -o green");
else if (energyLevel == 3)
strcpy(colors,"-c green -o black");