dsrc vanet ns2 tcl scipt不工作
我已经为dsrc运行这个tcl脚本(不是我写的)工作了几个星期,但我从未成功过。我需要你的帮助。错误是:dsrc vanet ns2 tcl scipt不工作,tcl,ns2,wifi,Tcl,Ns2,Wifi,我已经为dsrc运行这个tcl脚本(不是我写的)工作了几个星期,但我从未成功过。我需要你的帮助。错误是: invalid command name "10" while executing "$val(payload)" invoked from within "set payload [$val(payload)]" (file "singleBroadcast.tcl" line 7) 因此,为了不使THG变得非常复杂,我将在这里解析代码的一部分,我认为这是一个错误
invalid command name "10"
while executing
"$val(payload)"
invoked from within
"set payload [$val(payload)]"
(file "singleBroadcast.tcl" line 7)
因此,为了不使THG变得非常复杂,我将在这里解析代码的一部分,我认为这是一个错误:
set val(modIndex) [lindex $argv 0]
set val(ncars) [lindex $argv 1]
set val(payload) [lindex $argv 2]
set val(comRange) [lindex $argv 3] ;#"intended" Communication Range
set val(vseed) [lindex $argv 4]
set payload $val(payload)
set modulationIndex $val(modIndex)
#Calculate the needed Transmission power corresponding to the intended Communication Range
set lambda [expr 3e+8/5.9e+9] ;# lambda = c / f
set pi 3.1415926535897931
set yi [expr $pi*4]
set yi2 [expr $yi*[$val(comRange)]]
set M [expr $lambda/$yi2];
set Pr2Pt [expr [expr 5.118 * 5.118 * $M * $M ] / 1];
set Pt [expr 3.162e-12 / $Pr2Pt]
set PtmW [expr $Pt * 1000]
puts "mod Index is $val(modIndex)"
请纠正我,我认为有5个参数,所以要运行它,我必须键入,即:ns test.tcl 10 12 4 10 2
问题在范围之内
1-我是否以正确的方式思考,我如何运行它是否正确
2-你能帮我纠正一下吗
多谢各位
非常感谢您的帮助我不知道为什么您的错误看起来像这样,但第14行有一个错误。您需要更改:
set yi2 [expr $yi*[$val(comRange)]]
例如:
set yi2 [expr { $yi*$val(comRange) }]
除非
$val(comRange)
应该是argv中提供的有效Tcl命令。您的错误似乎与代码段不匹配。如果使用参数调用脚本10124102
set payload$val(payload)应该可以正常工作,但是set yi2[expr$yi*[$val(comRange)]]
将失败。错误并不是这么说的。你能确认一下吗?