2014-04-07 2 views
0

У меня есть некоторые проблемы в ns2 о Я хочу, чтобы моя PacketSize следовать в экспоненциальной ditributionns2 экспоненциального распределения по размеру пакета

для достижения этой цели, я использую экспоненциальный Переменную

Вот мой код.

set exp [new Agent/Traffic/Exponential] 
... 
set rng [new RNG] 
set rng seed 101 
set size [new RandomVariable/Exponential] 
$size set avg_ 123 
$size use_rng $rng 
$exp set packetSize_ [expr 1.0*[$size value]] 
... 

, но когда я увидел файл Травы, то PacketSize находится 416

- 0.659841 0 1 exp 416 ------- 1 0.0 1.0 7 7 
r 0.659874 0 1 exp 416 ------- 1 0.0 1.0 7 7 
+ 0.693121 0 1 exp 416 ------- 1 0.0 1.0 8 8 
- 0.693121 0 1 exp 416 ------- 1 0.0 1.0 8 8 
r 0.693154 0 1 exp 416 ------- 1 0.0 1.0 8 8 
+ 0.726401 0 1 exp 416 ------- 1 0.0 1.0 9 9 
- 0.726401 0 1 exp 416 ------- 1 0.0 1.0 9 9 
r 0.726434 0 1 exp 416 ------- 1 0.0 1.0 9 9 
+ 0.759681 0 1 exp 416 ------- 1 0.0 1.0 10 10 
... 

Я запутался о Я думаю, может быть, Exponetial переменных есть ошибка

поэтому я добавить некоторый код.

... 
for {set j 0} {$j < 5} {incr j} { 
puts [format "%-8.3f " [$size value]] 
} 
... 

и результат

238.606 
102.588 
12.960 
71.759 
41.372 

поэтому переменная работа

, но не работает в PacketSize ..

Может кто-нибудь дать мне предложение?

или я могу изменить экспоненциальный генератор трафика (expoo.cc) для достижения этой проблемы

путем добавления экспоненциальных переменных в expoo.cc?

Большое спасибо

ответ

0

Проблема, вероятно, что вы получаете значение из генератора случайных чисел только раз, а не для каждый раз вы посылаете пакет.

+0

Так что мне пришлось изменить expoo.cc или пакет.h? Если я добавлю ExponentialRandomVariable в expoo.cc, то будет получать случайное значение каждый раз, когда я отправляю пакет? Спасибо большое! – user3500804

Смежные вопросы