J'ai travaillé pendant des semaines pour exécuter ce script tcl (PAS écrit par moi) pour dsrc mais je n'ai jamais réussi. S'il te plaît, j'ai besoin de ton aide. l'erreur est:dsrc vanet ns2 tcl scipt ne fonctionne pas
invalid command name "10"
while executing
"$val(payload)"
invoked from within
"set payload [$val(payload)]"
(file "singleBroadcast.tcl" line 7)
donc pour ne pas faire les thgs très compliqué, je vais analyser ici une partie du code que je pense qu'il ya erreur de sa:
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)"
s'il vous plaît me corriger, je pense qu'il ya 5 args, donc pour l'exécuter, je dois taper ie: ns test.tcl 10 12 4 10 2
le problème est dans la comRange.
1- Est-ce que je pense de la bonne façon, est-ce correct de savoir comment je l'utilise?
2- pouvez-vous m'aider à le corriger?
Merci beaucoup votre aide est reconnaissant de bien vouloir
Votre erreur ne semble pas correspondre à l'extrait. Si vous invoquez le script avec les arguments '10 12 4 10 2' votre' set payload $ val (payload) 'devrait fonctionner correctement mais' set yi2 [expr $ yi * [$ val (comRange)]] 'échouera. Ce n'est pas ce que l'erreur dit. Pourriez-vous confirmer cela? – pn8830