实验四乱数产生器课件_第1页
实验四乱数产生器课件_第2页
实验四乱数产生器课件_第3页
实验四乱数产生器课件_第4页
实验四乱数产生器课件_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

實驗四:亂數產生器指導教授:許子衡學生:董藝興实验四乱数产生器课件1亂數產生器亂數產生器所產生的數值是由種子和分佈所控制的,不同的種子或者是分佈就會產生出不同的亂數。我們可以這樣思考,當一個種子和分佈決定之後,亂數產生器會產生出一個表格,表格內是由一長串不同數字所組成,當我們需要一個亂數,亂數產生器就會去選取這個表格中第一個數字,當再需要另一個亂數,亂數產生器就會去選取這個表格中第二個數字,以此類推,所以當使用種子和分佈相同時,得到的亂數會相同,若不同時,得到的亂數會不同。而在NS2中,若是種子的值為0的話,則表示每次執行程式的時候,亂數產生器都會在產生出不同的表格,也就是說每次得到的亂數都不相同。亂數產生器亂數產生器所產生的數值是由種子和分佈所控制的,不2分佈有五種:ParetoConstantUniformExponentialHyperExponentail分佈有五種:3ParetoDistribution與Constant:ParetoDistribution:要提供avg_和shape_。setr1[newRandomVariable/Pareto]$r1use-rng$rng$r1setavg_10.0$r1setshape_1.2Constant:要提供平均值參數avg_setr2[newRandomVariable/Constant]$r2use-rng$rng$r2setavg_5.0ParetoDistribution與Constant:P4Uniform與ExponentialUniformdistribution:要提供最小值和最大值

setr3[newRandomVariable/Uniform]

$r3use-rng$rng

$r3setmin_0.0

$r3setmax_10.0Exponentialdistribution:要提供平均值

setr4[newRandomVariable/Exponential]

$r4use-rng$rng

$r4setavg_5Uniform與ExponentialUniformdis5HyperexponentialHyperexponentialdistribution:setr5[newRandomVariable/HyperExponential]$r5use-rng$rng$r5setavg_1.0$r5setcov_4.0cov_:參數HyperexponentialHyperexponenti6实验四乱数产生器课件7隨機變數的應用setns[newSimulator]#建立物件

setnd[openout.trw]$nstrace-all$nd#開啟一個tracefile,用來紀錄封包傳送的過程

setnf[openout.namw]$nsnamtrace-all$nf#開啟一個NAMtracefile,用來觀察動態模擬過程

$nscolor1Blue$nscolor2Red$nscolor3Green#設定三條color隨機變數的應用setns[newSimulator]8隨機變數的應用setnflow3#設定TCPFlow數目

setr1[$nsnode]setr2[$nsnode]#r1.r2用來當路由器

$nsduplex-link$r1$r21Mb100msDropTail$nsduplex-link-op$r1$r2orientright#建立實體鏈路以及位置

$nsqueue-limit$r1$r210#設定queuelimit為10個Packet隨機變數的應用setnflow39隨機變數的應用for{seti1}{$i<=$nflow}{incri}{#設定TCP來源節點&&TCP目的節點#建立來源和目的節點與路由器的鏈路

sets($i)[$nsnode]#來源端s(0)s(1)s(2)s(3)節點

setd($i)[$nsnode]#目的端d(0)d(1)d(2)d(3)個節點隨機變數的應用for{seti1}{$i<=10隨機變數的應用$nsduplex-link$s($i)$r110Mb10msDropTail$nsduplex-link$r2$d($i)10Mb10msDropTail#建立實體鏈路}#===============設定節點位置===============$nsduplex-link-op$s(1)$r1orientright-down$nsduplex-link-op$s(2)$r1orientright$nsduplex-link-op$s(3)$r1orientright-up#============================================隨機變數的應用$nsduplex-link$s($i11隨機變數的應用$nsduplex-link-op$r2$d(1)orientright-up$nsduplex-link-op$r2$d(2)orientright$nsduplex-link-op$r2$d(3)orientright-down#=======設定節點位置=======隨機變數的應用$nsduplex-link-op$r212for{seti1}{$i<=$nflow}{incri}{#建立TCP的連線,並在TCP連線上建立FTP應用settcp($i)[newAgent/TCP]setsink($i)[newAgent/TCPSink]#建立TCP&&TCPSink$nsattach-agent$s($i)$tcp($i)$nsattach-agent$d($i)$sink($i)$nsconnect$tcp($i)$sink($i)#node與通訊協定兩兩聯繫起來,最後通訊協定再做連接for{seti1}{$i<=$nflo13setftp($i)[newApplication/FTP]$ftp($i)attach-agent$tcp($i)$ftp($i)settype_FTP#建立FTP應用,並且去跟TCP做attach$tcp($i)setclass_$i#TCP封包設定顏色,比較好區別}setrng[newRNG]#隨機變數應用,目的讓三個Flow在隨機的時間開始傳送封包[0-1秒之間]$rngseed0#設定種子為0就像是每次執行都擷取不同種子setftp($i)[newApplication/14隨機變數的應用#========UniformDistribution========setRVstart[newRandomVariable/Uniform]$RVstartsetmin_0$RVstartsetmax_1$RVstartuse-rng$rng#========UniformDistribution========for{seti1}{$i<=$nflow}{incri}{#由亂數產生器去決定每一條Flow的起始時間

setstartT($i)[expr[$RVstartvalue]]#設定開始的時間

puts"startT($i)$startT($i)sec"#顯示在視窗上隨機變數的應用#========UniformDist15隨機變數的應用setendT($i)[expr$startT($i)+5]#設定結束時間為開始時間加五秒

puts"endT($i)$endT($i)sec\n"#顯示在視窗上

#在指定時間內讓ftp開始傳輸,每條flow傳輸五秒data$nsat$startT($i)"$ftp($i)start"$nsat$endT($i)"$ftp($i)stop"}隨機變數的應用setendT($i)[expr16隨機變數的應用

procfinish{}{#結束的副函式

globaln

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论