2016-07-27 3 views

Antwort

2
globals [alpha minstep] 

to setup 
    ca 
    set alpha 1.5 set minstep 0.2 ;or whatever 
    crt 1 [pen-down] 
end 

to go 
    ask turtles [ 
    set heading random-float 360 
    fd minstep * (random-float 1)^(-1/alpha) 
    ] 
end 

Edit:

Das folgende ist vielleicht der einfachste Weg, um einen korrelierten Winkel zu erhalten.

to-report randomAngleTriangular [ 
    #maxAngle ;(number) angle in degrees 
    ] 
    let _maxAngle abs #maxAngle 
    if (_maxAngle > 180) [ 
    set _maxAngle 180 
    ] 
    report (2 * randomStandardTriangular - 1) * _maxAngle 
end 

to-report randomStandardTriangular 
    report (random-float 1 + (1 - random-float 1))/2 
end 

Für eine korrelierte Irrfahrt, ändern Sie einfach heading durch (links oder rechts) von dem ausgewiesenen Winkel drehen.

+0

Ich hätte es erwähnen sollen: siehe auch Mushroom Hunt Modell im Railsback und Grimm Lehrbuch. (Nicht ein Levy-Flug, aber im Zusammenhang mit Ihrer Frage.) – Alan

+0

Danke Alan, das war sehr hilfreich, für den Umweg zu gehen ... Ich habe eine gute Richtung, wie ich damit weitermachen soll ... wie wäre es mit einem korrelierten Random Walk ? Irgendwelche Ideen, wie man das umsetzt? – nigus21

+0

Hallo Alan oder jemand anderes, der mir dabei helfen kann: Ich konnte einen Levy Walk implementieren und Random Walk in Netlogo mit dem folgenden Code korrelieren (mit Slidern und Buttons für erhöhte Funktionalität). Allerdings funktioniert der korrelierte Random Walk nicht entsprechend ... – nigus21

Verwandte Themen