在ns-2模拟器中使用tcl脚本和;AWk语言

在ns-2模拟器中使用tcl脚本和;AWk语言,awk,tcl,ns2,Awk,Tcl,Ns2,我想用任意数量的节点(从命令行输入读取的数量)动态创建集群。我已经使用带有x和y值的setdest命令部署了节点,但每次我都想实现动态集群形成。如图所示,我硬编码了x和y坐标,但我希望在运行时创建它们 $ns_ at $tn "$node_(0) setdest 730.061 715.205 750" $ns_ at $tn "$node_(1) setdest 1032.95 867.473 750" $ns_ at $tn "$node_(2) setde

我想用任意数量的节点(从命令行输入读取的数量)动态创建集群。我已经使用带有x和y值的
setdest
命令部署了节点,但每次我都想实现动态集群形成。如图所示,我硬编码了x和y坐标,但我希望在运行时创建它们

   $ns_ at $tn "$node_(0) setdest 730.061 715.205 750"    
   $ns_ at $tn "$node_(1) setdest 1032.95 867.473 750"    
   $ns_ at $tn "$node_(2) setdest 941.11 1031.13 750"    
   $ns_ at $tn "$node_(3) setdest 1112.75 993.609 750"    
   $ns_ at $tn "$node_(4) setdest 1085.21 1176.37 750"    
   $ns_ at $tn "$node_(5) setdest 1232.55 821.43 750"    
   $ns_ at $tn "$node_(6) setdest 1277.3 1040.56 750"    
   $ns_ at $tn "$node_(7) setdest 883.426 466.448 750"    
   $ns_ at $tn "$node_(8) setdest 1001.59 290.138 750"    
   $ns_ at $tn "$node_(9) setdest 774.005 337.611 750"    
   $ns_ at $tn "$node_(10) setdest 636.72 245.85 750"    
   $ns_ at $tn "$node_(11) setdest 888.613 195.457 750"    

下面是如何放置12个随机位置的节点

for {set i 0} {$i < 12} {incr i} {
    # I've no idea how you *want* to do this, but this works for example
    set xLocation [expr {int(1500 * rand())}]
    set yLocation [expr {int(1500 * rand())}]

    # Place the node (is that what the right name is?)
    $ns_ at $tn [list $node_($i) setdest $xLocation $yLocation 750]
}
对于{set i 0}{$i<12}{incr i}{
#我不知道你想怎么做,但这就是个例子
set xLocation[expr{int(1500*rand())}]
集合位置[expr{int(1500*rand())}]
#放置节点(这是正确的名称吗?)
$ns_uu在$tn处[列出$node_ui$setdest$xLocation$yLocation 750]
}

list
命令非常适合生成回调;它正是您需要的报价。

谢谢您的帮助。上面的代码在指定的nam窗口上随机部署节点,但对随机部署的节点组进行集群。这是否可能基于象限或距离节点0的距离执行群集。?动态群集代码?感谢您提供ans及其在nam窗口中部署随机节点的代码,但在指定的nam窗口中随机部署节点后,我需要一次动态群集代码。请尽快回复