У меня есть некоторые проблемы в ns2 о том, что я хочу, чтобы мой размер пакета следовал в экспоненциальном распределении
для этого я использую экспоненциальную переменную
Вот мой код
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]]
...
но когда я увидел файл travel, размер пакета составляет 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 Variables есть ошибка
поэтому я добавляю немного кода.
...
for {set j 0} {$j < 5} {incr j} {
puts [format "%-8.3f " [$size value]]
}
...
и результат
238.606
102.588
12.960
71.759
41.372
так что переменная работа
но не работает в размере пакета ..
Кто-нибудь может дать мне предложение?
или я могу изменить генератор экспоненциального трафика (expoo.cc) для решения этой проблемы
путем добавления экспоненциальных переменных в expoo.cc?
Большое спасибо
Возможно, проблема в том, что вы получаете значение только из генератора случайных чисел. один раз, а не для каждый раз Вы отправляете пакет.
Других решений пока нет …