亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ns-mte.tcl

?? 這個市一個ns環(huán)境下的leach算法!大家可以多下在啊!我想要一個matlab環(huán)境下的概算法!
?? TCL
字號:
############################################################################## This code was developed as part of the MIT uAMPS project. (June, 2000)############################################################################## Message Constantsset DATA           3set MAC_BROADCAST  0xffffffffset LINK_BROADCAST 0xffffffffset BYTES_ID       2############################################################################## Minimum Transmission Energy Routing Application#############################################################################Class Application/MTE -superclass ApplicationApplication/MTE instproc init args {  global opt   $self instvar rng_ round_ code_  $self instvar dist_ now_ upstream_ alive_  $self instvar begin_idle_  set rng_ [new RNG]  $rng_ seed 0  set round_ 0  set code_ 0  set dist_ 0  set now_ 0  set upstream_ ""  set alive_ 1  set begin_idle_ 0  $self next $args}Application/MTE instproc start {} {  global node_ opt bs ns_ node_  $self instvar nextHopID_ dist_   [$self mac] set node_num_ [$self nodeID]  set nodeID [$self nodeID]  $self setCode $opt(bsCode)  # Find next hop neighbor-- node to whom always send data.  # Choose closest node that is in the direction of the base station.   # NOTE!  This algorithm assumes nodes know the location of all nodes  # near them.  In practice, this would require an initial set-up   # phase where this information is disseminated throughout the network  # and that each node has a GPS receiver or other location-tracking   # algorithms to determine node locations.  set x [$self getX]  set y [$self getY]  set bsx [lindex $bs 0]  set bsy [lindex $bs 1]  set cx [expr ($x + $bsx) / 2]  set cy [expr ($y + $bsy) / 2]  set dtobs [nodeToBSDist $node_($nodeID) $bs]   set r [expr $dtobs / 2]  set minx $bsx  set miny $bsy  set minID $opt(nn_)  set mind $dtobs  for {set i 0} {$i < $opt(nn_)} {incr i} {    set nx [$node_($i) set X_]    set ny [$node_($i) set Y_]    set incircle [dist $nx $ny $cx $cy]    if {$incircle < $r && ($nodeID != $i)} {      set d [dist $x $y $nx $ny]      if {$d < $mind} {          set mind $d          set minx $nx          set miny $ny          set minID $i      }    }    }  set nextHopID_ $minID  set dist_ $mind  puts "[$self nodeID] next hop neighbor is $nextHopID_ (dist = $mind)"  # All nodes keep track of who sends data to them in order to   # inform these neighbors to reroute data when node dies.  if {$minID < $opt(bsID)} {    [$node_($minID) set rca_app_] addUpStreamNeighbor $nodeID  }  set now_ [$ns_ now]  $ns_ at $now_ "$self SendMyData"  # Finding next hop neighbor costs 1 nJ/node (guess) to compute distances.  set startup_energy [expr $opt(nn_) * 1e-9]   puts "\tstartup_energy = $startup_energy"  [$self getER] remove $startup_energy  $self checkAlive}Application/MTE instproc addUpStreamNeighbor id {  $self instvar upstream_  set upstream_ [lappend upstream_ $id]}Application/MTE instproc removeUpStreamNeighbor id {  $self instvar upstream_  set index [lsearch $upstream_ $id]  set upstream_ [lreplace $upstream_ $index $index]}############################################################################## Helper Functions#############################################################################Application/MTE instproc getRandomNumber {llim ulim} {  $self instvar rng_  return [$rng_ uniform $llim $ulim]}Application/MTE instproc node {} {  return [[$self agent] set node_]}Application/MTE instproc nodeID {} {  return [[[$self agent] set node_] id]}Application/MTE instproc mac {} {  return [[$self node] set mac_(0)]}Application/MTE instproc getX {} {  return [[[$self agent] set node_] set X_]}Application/MTE instproc getY {} {  return [[[$self agent] set node_] set Y_]}Application/MTE instproc getER {} {  set er [[[$self agent] set node_] getER]  return $er}Application/MTE instproc setCode code {  $self instvar code_  set code_ $code  [$self mac] set code_ $code}Application/MTE instproc checkAlive {} {  global ns_ chan opt node_  $self instvar alive_ nextHopID_ upstream_  $self instvar begin_idle_   # Check the alive status of the node.  If the node has run out of  # energy, it no longer functions in the network.  set ISalive [[[$self node] set netif_(0)] set alive_]  if {$alive_ == 1} {    if {$ISalive == 0} {      puts "Node [$self nodeID] is DEAD!!!!"      $chan removeif [[$self node] set netif_(0)]      set alive_ 0      set opt(nn_) [expr $opt(nn_) - 1]      # Set upstream neighbor's nextHopID_ to my nextHopID_.      if {$nextHopID_ != $opt(bsID)} {        [$node_($nextHopID_) set rca_app_] removeUpStreamNeighbor [$self nodeID]      }      set x [$node_($nextHopID_) set X_]      set y [$node_($nextHopID_) set Y_]      foreach element $upstream_ {        set node $node_($element)        set nx [$node set X_]        set ny [$node set Y_]        [$node set rca_app_] set nextHopID_ $nextHopID_        [$node set rca_app_] set dist_ [dist $x $y $nx $ny]        if {$nextHopID_ != $opt(bsID)} {          [$node_($nextHopID_) set rca_app_] addUpStreamNeighbor $element          puts "Node $element next hop neighbor is now $nextHopID_"        }      }    } else {      $ns_ at [expr [$ns_ now] + 0.1] "$self checkAlive"      set idle_energy [expr $opt(Pidle) * [expr [$ns_ now] - $begin_idle_]]      [$self getER] remove $idle_energy      set begin_idle_ [$ns_ now]    }  }  if {$opt(nn_) == 0} "sens_finish"}############################################################################## Receive Functions#############################################################################Application/MTE instproc recv {args} {  global ns_ DATA opt  $self instvar nextHopID_   set nodeID [$self nodeID]  set msg_type [[$self agent] set packetMsg_]  set sender [lindex $args 1]  set data_size [lindex $args 2]  set msg [lrange $args 3 end]  if {$msg_type != $DATA} {    puts "ERROR!!! MTE routing only uses DATA types."    exit 1  }  pp "Node $nodeID received data {$msg} from $sender at [$ns_ now]"  pp "Node $nodeID must now pass data {$msg} along next \          hop to $nextHopID_."  $self SendDataNextHop $msg}############################################################################## Send Functions#############################################################################Application/MTE instproc SendMyData {} {  global ns_ opt  $self instvar alive_  if {$alive_ == 1} {    $self SendDataNextHop    # Send data once every data_lag seconds.  This is set so that    # there are minimal collisions among data messages.  If data_lag is too    # small, no data is transmitted due to collisions.  If data_lag is     # too large, the channel is not efficiently used.      set xmitat [expr [$ns_ now] + $opt(data_lag)]    $ns_ at $xmitat "$self SendMyData"  }  set nodeID [$self nodeID]  set sense_energy [expr $opt(Esense) * $opt(sig_size) * 8]  pp "Node $nodeID removing sensing energy = $sense_energy J."  [$self getER] remove $sense_energy}Application/MTE instproc SendDataNextHop {args} {  global ns_ DATA BYTES_ID opt   $self instvar dist_ nextHopID_ now_ code_  set nodeID [$self nodeID]  if {[llength $args] == 1} {     set msg [list [lindex $args 0]]  } else {     set msg [list $nodeID]   }  set datasize [expr $BYTES_ID * [llength $msg] + \               [expr [llength [join $msg]] * $opt(sig_size)]]  set mac_dst $nextHopID_  set link_dst $nextHopID_  set code $code_  if {$nextHopID_ == $opt(bsID)} {      # Data must be sent directly to the basestation.      $self SendDataToBS $msg  } else {      set random_access [$self getRandomNumber 0 $opt(ra_mte)]      $ns_ at [expr [$ns_ now] + $random_access] "$self send_now \          $mac_dst $link_dst $DATA $msg $datasize $dist_ $code"  }}Application/MTE instproc send_now {mac_dst link_dst type msg \                                          data_size dist code} {  global ns_  $self instvar nextHopID_   pp "[$self nodeID] sending data {$msg} to $nextHopID_ \          (dist = $dist) at [$ns_ now]"  [$self agent] set packetMsg_ $type  [$self agent] set dst_ $mac_dst  [$self agent] sendmsg $data_size $msg $mac_dst $link_dst $dist $code}Application/MTE instproc SendDataToBS {msg} {  global ns_ opt bs DATA BYTES_ID  $self instvar rng_ now_  # Data must be sent directly to the basestation.  set nodeID [$self nodeID]  set datasize [expr $BYTES_ID * [llength $msg] + $opt(sig_size)]  set dist [nodeToBSDist [$self node] $bs]  set mac_dst $opt(bsID)  set link_dst $opt(bsID)  set random_delay [expr [$ns_ now] + [$rng_ uniform 0 0.01]]  $ns_ at $random_delay "$self send_now $mac_dst $link_dst $DATA \                         $msg $datasize $dist $opt(bsCode) "}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产视频在线观看一区二区三区 | 国产成人免费av在线| 一区二区国产视频| 国产精品美女久久久久久2018| 久久亚洲精品小早川怜子| 日韩亚洲欧美高清| 欧美成人aa大片| 日韩精品在线一区| 精品国产乱码久久久久久1区2区 | 精品一区二区三区免费| 亚洲一级片在线观看| 一级特黄大欧美久久久| 亚洲亚洲人成综合网络| 亚洲国产色一区| 秋霞国产午夜精品免费视频| 青青草一区二区三区| 精品一区二区三区日韩| 国产91精品一区二区麻豆网站| 国产盗摄精品一区二区三区在线 | 欧美日韩二区三区| 欧美日韩黄色影视| 日韩欧美精品在线视频| 日本一区二区电影| 亚洲精品免费在线| 日韩主播视频在线| 国产在线视频精品一区| av不卡免费电影| 欧美精品在线观看播放| 久久免费午夜影院| 亚洲天堂网中文字| 一区二区三区影院| 日本不卡不码高清免费观看| 国产精品一级片| 91国内精品野花午夜精品| 日韩欧美的一区二区| 国产精品女同一区二区三区| 亚洲自拍偷拍综合| 国内外成人在线视频| 国产成人免费视| 91精品视频网| 亚洲精品欧美激情| 激情综合一区二区三区| 91日韩在线专区| 亚洲精品在线免费播放| 中文字幕精品在线不卡| 夜夜揉揉日日人人青青一国产精品| 麻豆一区二区在线| 成人av电影在线播放| 91精品国产综合久久福利| 国产欧美一区视频| 日韩电影在线观看电影| 97aⅴ精品视频一二三区| 欧美成人精品福利| 亚洲.国产.中文慕字在线| 盗摄精品av一区二区三区| 欧美久久一二三四区| 日本一区二区三区久久久久久久久不| 亚洲精品精品亚洲| 韩国精品在线观看| 欧美精品九九99久久| 中文字幕一区av| 国产福利91精品| 日韩一二三区不卡| 一区二区欧美精品| aa级大片欧美| 国产精品二三区| 国产福利一区二区三区视频| 精品久久久久久久久久久久久久久久久 | 国产真实乱偷精品视频免| 欧美视频在线一区二区三区| 中文字幕一区二区三区av| 国产精品综合一区二区三区| 精品播放一区二区| 免费的国产精品| 欧美电影免费观看完整版| 亚洲成av人片在线观看| 色婷婷精品大视频在线蜜桃视频| 国产精品久久久久久久裸模 | 欧美v国产在线一区二区三区| 亚洲国产色一区| 色噜噜狠狠一区二区三区果冻| 亚洲欧洲99久久| 99re66热这里只有精品3直播 | 制服丝袜av成人在线看| 一区2区3区在线看| 欧美中文字幕亚洲一区二区va在线| 一区二区三区中文字幕精品精品 | 午夜影院在线观看欧美| 欧美撒尿777hd撒尿| 亚洲第一福利视频在线| 欧美日韩视频第一区| 免费一级片91| 精品处破学生在线二十三| 国产乱码精品1区2区3区| 国产亚洲一区字幕| 粉嫩在线一区二区三区视频| 亚洲欧美成人一区二区三区| 色系网站成人免费| 婷婷开心久久网| 欧美α欧美αv大片| 福利电影一区二区三区| 1024成人网| 在线综合亚洲欧美在线视频| 国产毛片精品视频| 中文字幕在线不卡一区二区三区| 欧美性高清videossexo| 免播放器亚洲一区| 久久九九99视频| 欧美性三三影院| 国产在线播放一区三区四| 国产精品国产三级国产三级人妇| 欧美中文字幕一二三区视频| 久久99热这里只有精品| 亚洲欧美在线aaa| 91麻豆精品国产91久久久使用方法| 精品一区二区三区的国产在线播放 | 日韩久久久久久| 成人a区在线观看| 日本欧美在线观看| 中文字幕二三区不卡| 欧美老肥妇做.爰bbww视频| 国产精品一区二区视频| 亚洲高清免费观看高清完整版在线观看 | 国产精品妹子av| 欧美一二三四区在线| hitomi一区二区三区精品| 亚洲成av人片观看| 国产精品国产自产拍高清av| 欧美一级日韩一级| 色婷婷久久久亚洲一区二区三区| 国模套图日韩精品一区二区 | 精品国产髙清在线看国产毛片| 色综合一区二区| 国产福利一区二区三区视频 | 色综合久久九月婷婷色综合| 国产真实乱对白精彩久久| 亚洲bt欧美bt精品777| 综合在线观看色| 国产日韩精品一区| 日韩视频免费直播| 欧美日韩免费一区二区三区视频| 不卡av电影在线播放| 国产精品一区二区x88av| 日本中文字幕一区二区有限公司| 亚洲一区二区三区四区五区黄| 国产精品网曝门| 欧美激情综合五月色丁香| 欧美大片日本大片免费观看| 欧美精三区欧美精三区| 精品视频一区三区九区| 91麻豆.com| 色综合亚洲欧洲| 91免费国产在线| 99久久精品99国产精品| 不卡一区在线观看| 成人一区在线观看| 成人在线视频首页| 国产大陆精品国产| 国产91精品露脸国语对白| 激情六月婷婷久久| 久久99在线观看| 国产成人高清视频| 国产99精品国产| 暴力调教一区二区三区| 国产aⅴ综合色| 94-欧美-setu| 欧洲生活片亚洲生活在线观看| 欧美日韩中字一区| 精品视频在线看| 日韩视频一区在线观看| 久久久午夜电影| 国产精品午夜在线| 亚洲最大成人综合| 五月激情综合网| 国产在线观看免费一区| 国产黄人亚洲片| av电影天堂一区二区在线| 欧美在线免费播放| 91精品国产乱码久久蜜臀| 久久男人中文字幕资源站| 国产精品第五页| 日韩极品在线观看| 免费成人美女在线观看.| 性感美女久久精品| 九九九精品视频| 91麻豆国产香蕉久久精品| 欧美高清视频一二三区| 91精品国产一区二区三区香蕉| 欧美国产日韩精品免费观看| 亚洲影视在线播放| 捆绑调教一区二区三区| 成人午夜视频福利| 欧美日韩一级视频| 国产亚洲欧洲997久久综合| 亚洲美女一区二区三区| 久久99精品国产麻豆婷婷| 97久久精品人人做人人爽50路| 日韩一区二区三区免费看| 中文久久乱码一区二区| 麻豆91免费看|