我已经工作了几个星期来为 dsrc 运行这个 tcl 脚本(不是我写的),但我从来没有成功过。请我需要你的帮助。错误是:
invalid command name "10"
while executing
"$val(payload)"
invoked from within
"set payload [$val(payload)]"
(file "singleBroadcast.tcl" line 7)
所以为了不让thgs变得非常复杂,我将在这里解析一部分我认为有错误的代码:
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 个参数,所以要运行它,我必须输入 ie:ns test.tcl 10 12 4 10 2
问题出在comRange中。
1-我是否以正确的方式思考,我如何运行它是否正确?
2-你能帮我改正吗?
非常感谢您的帮助非常感谢