時間和位置 的關係圖

這是我的條件

IF (V>d-1) 則 V=d-1

IF (V<或= d-1) AND V<Vmax  則V=V+1

V 有 P 的機率會自動減1

V 速度   d 距離   P機率(0~1)

以下是我的程式

XY圖我想畫出 全部的車子得 時間和位置圖

請大家幫我看看 有沒有錯誤

因為位置車子位置  有時會變成-1  非常怪    

P=0.1    steps=1000    car#=10    size=100

新資料夾 (2).rar

這是新的~完整的檔案

麻煩大家了

好像還是會有-1的值出現

還有一個麻煩 如果car#數量增加  速度應該要出現很多零

但是卻都變成的5(Vmax)

 

r0095494240455.8903587963
  1. 你的程式裡面有一些子vi沒有在裡面,所以程式無法執行
    2. 這個問題有點深入,你的條件與問題無法讓人明白
       是否可以簡單再說明清楚一點
      

有-1的位置是因為有-1的速度,建議程式修改如下,當速度小於0時就設定為0

![](upload://zAGpieOvD5UmyVPh1fCrpKXM7o8.jpeg)

還有1處,速度大於等於就有機率-1,要改為大於.速度才不會變-1

![](upload://hkynlrkyke75ZiqPHw715rClV2h.jpeg)

你的程式除了randomize.vi會造成速度變-1外(把大於等於改為大於就OK),最大的問題是計算間距的distance_between _cars.vi輸入的position資料有問題才會造成velocity_change.vi計算錯誤,造成後車與前車在同一點,甚至超過前車的問題.你只需將主程式的線路如下圖修改就OK了.

![](upload://9opJZtNsUFNmPNokt5AUkvBbwJ0.jpeg)

okok~~

問題解決了~~非常謝謝你喔!!

你的程式還有個Bug,當車子的數量是空間的一半時,所有車子都不會動,速度永遠為0,例如car#=50,size=100,你可以自己找一下問題在哪?

好的~

可能是我條件設定的問題

因為一開始給訂的速度V都等於零

又IF (V<或= d-1) AND V<Vmax  則V=V+1

所以速度永遠無法+1

 

IF (V<或= d-1) AND V<Vmax  則V=V+1是你的條件,但是你的程式卻寫成V+1<d-1,建議你將下圖中圈起來的+1刪除.

![](upload://rwZW2xg1QSgUz9Mc1bRZYJ04eD0.jpeg)

好的~謝謝你喔~~但是文章中的條件,感覺上應該是+1這個,所以才寫成+1

如果我現在,想用亂數寫"初始位置"要怎麼做會比較好呢?

因為位置不能重疊

真是非常困擾!

"初始位置"用亂數取出,不會重複(原理可參考下面文章).再依序排列即可.

http://it360.tw/forum/forum_posts.asp?TID=12715&FID=23

![](upload://pJxrKXAQjUko5yQqpKytQrkvA2F.jpeg)

好的~

位置的亂數做好了~謝謝你喔