道路運輸組織學實驗指導書_第1頁
道路運輸組織學實驗指導書_第2頁
道路運輸組織學實驗指導書_第3頁
道路運輸組織學實驗指導書_第4頁
道路運輸組織學實驗指導書_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、交通與汽車工程學院道路運輸組織實驗指導書適用專業(yè): 交通運輸 課程代碼: 學時: 40(4) 學分: 2.5 編寫單位:交通與汽車工程學院編 寫 人: 曾傳華 審 核 人: 駱 勇 審 批 人: 孫仁云 目 錄 實驗一 加權平均法的交通量預測程序編寫 1實驗報告格式及要求 11主要參考文獻 11實驗一 加權平均法的交通量預測程序編寫一、 實驗目的和任務 通過上機實踐,加強對交通量預測理論知識的認識,并通過Powerbuilder軟件編寫程序,實現(xiàn)交通量的自動預測,提高將理論與實踐相結合的能力。二、 實驗內容1. 設計主窗口,編寫主程序。2. 運用編寫的程序進行交通量預測。三、 實驗步驟1設計主

2、窗口,編寫主程序。1)設計主窗口; (1)主窗口結構如圖一所示: 圖一 主窗口分為四大模塊:實際交通量錄入模塊、加權系數模塊、預測模塊和坐標圖顯示模塊。(2)實際交通量模塊:主要由1個groupbox控件,16個stitactext控件和12個singlelinedit控件組成,如圖二所示,用于輸入一到十二月的實際交通量,作為交通量預測的基礎數據。 圖二(3)加權系數模塊:主要由1個groupbox控件,8個stitactext控件和12個singlelinedit控件組成,如圖三所示,用于輸入四組認為比較合理的加權系數。 圖三(4)預測模塊:主要由1個groupbox控件,3個stitact

3、ext控件、4個singlelinedit和2個commandbutton控件組成,如圖四所示,顯示預測的結果。預測分兩步:第一步篩選出最優(yōu)的加權系數;第二步預測下一年一月份得交通量。 圖四(5)坐標圖顯示模塊:主要由1個groupbox控件和1個graph控件組成,如圖五所示,將每月的預測交通量與實際交通量相比較,并顯示在坐標圖上。 圖五(6)另外主窗口還有兩個主按鈕控件,cb_reset和cb_quit,用于數據的從新輸入和退出。2) 編寫主程序:(1)定義全局變量:int jtl_1,jtl_2,jtl_3,jtl_4,jtl_5,jtl_6,jtl_7,jtl_8,jtl_9,jtl_

4、10,jtl_11,jtl_12(2)篩選按鈕(cb_select)的click事件代碼:dec2 qs_1_1,qs_1_2,qs_1_3,qs_2_1,qs_2_2,qs_2_3,qs_3_1,qs_3_2,qs_3_3,qs_4_1,qs_4_2,qs_4_3dec2 yc_4_1,yc_4_2,yc_4_3,yc_4_4,yc_5_1,yc_5_2,yc_5_3,yc_5_4,yc_6_1,yc_6_2,yc_6_3,yc_6_4dec2 yc_7_1,yc_7_2,yc_7_3,yc_7_4,yc_8_1,yc_8_2,yc_8_3,yc_8_4,yc_9_1,yc_9_2,yc_9

5、_3,yc_9_4dec2 yc_10_1,yc_10_2,yc_10_3,yc_10_4,yc_11_1,yc_11_2,yc_11_3,yc_11_4,yc_12_1,yc_12_2,yc_12_3,yc_12_4dec2 jc_1,jc_2,jc_3,jc_4/ 判斷數據是否輸入完整。if sle_1.text= or sle_2.text= or sle_3.text= or sle_4.text= or sle_5.text= or sle_6.text= or sle_7.text= or sle_8.text= or sle_9.text= or sle_10.text= or

6、sle_11.text= or sle_12.text= or sle_13.text= or sle_14.text= or sle_15.text= or sle_16.text= or sle_17.text= or sle_18.text= or sle_23.text= or sle_24.text= or sle_25.text= or sle_26.text= or sle_27.text= or sle_28.text= then messagebox (提示,請輸入完整的數據信息)returnend if/將錄入的數據賦值給相應的變量。jtl_1=integer(sle_1.

7、text)jtl_2=integer(sle_2.text)jtl_3=integer(sle_3.text)jtl_4=integer(sle_4.text)jtl_5=integer(sle_5.text)jtl_6=integer(sle_6.text)jtl_7=integer(sle_23.text)jtl_8=integer(sle_24.text)jtl_9=integer(sle_25.text)jtl_10=integer(sle_26.text)jtl_11=integer(sle_27.text)jtl_12=integer(sle_28.text)qs_1_1=dec(

8、 sle_7.text)qs_1_2=dec( sle_8.text)qs_1_3=dec( sle_9.text)qs_2_1=dec( sle_10.text)qs_2_2=dec( sle_11.text)qs_2_3=dec( sle_12.text)qs_3_1=dec( sle_13.text)qs_3_2=dec( sle_14.text)qs_3_3=dec( sle_15.text)qs_4_1=dec( sle_16.text)qs_4_2=dec( sle_17.text)qs_4_3=dec( sle_18.text)/判斷每組加權系數是否符合條件if qs_1_1=0

9、 or qs_1_2=0 or qs_1_3=0 or qs_1_1+qs_1_2+qs_1_31 thenmessagebox (提示,請輸入符合要求的加權系數,1每個加權系數都0, 每組加權系數之和=1)elseif qs_2_1=0 or qs_2_2=0 or qs_2_3=0 or qs_2_1+qs_2_2+qs_2_31 thenmessagebox (提示,請輸入符合要求的加權系數,1每個加權系數都0, 每組加權系數之和=1)elseif qs_3_1=0 or qs_3_2=0 or qs_3_3=0 or qs_3_1+qs_3_2+qs_3_31 thenmessageb

10、ox (提示,請輸入符合要求的加權系數,1每個加權系數都0, 每組加權系數之和=1)elseif qs_4_1=0 or qs_4_2=0 or qs_4_3=0 or qs_2_1+qs_2_2+qs_2_31 thenmessagebox (提示,請輸入符合要求的加權系數,1每個加權系數都0, 每組加權系數之和=1)elseif qs_1_1qs_1_2 or qs_1_2qs_1_3 thenmessagebox (提示,請按從大到小的順序填寫每組加權系數)elseif qs_2_1qs_2_2 or qs_2_2qs_2_3 thenmessagebox (提示,請按從大到小的順序填寫

11、每組加權系數)elseif qs_3_1qs_3_2 or qs_3_2qs_3_3 thenmessagebox (提示,請按從大到小的順序填寫每組加權系數)elseif qs_4_1qs_4_2 or qs_4_2qs_4_3 thenmessagebox (提示,請按從大到小的順序填寫每組加權系數)returnend if/用給的四組加權系數預測四月到十二月的交通量。yc_4_1=jtl_3*qs_1_1+jtl_2*qs_1_2+jtl_1*qs_1_3yc_4_2=jtl_3*qs_2_1+jtl_2*qs_2_2+jtl_1*qs_2_3yc_4_3=jtl_3*qs_3_1+jt

12、l_2*qs_3_2+jtl_1*qs_3_3yc_4_4=jtl_3*qs_4_1+jtl_2*qs_4_2+jtl_1*qs_4_3yc_5_1=jtl_4*qs_1_1+jtl_3*qs_1_2+jtl_2*qs_1_3yc_5_2=jtl_4*qs_2_1+jtl_3*qs_2_2+jtl_2*qs_2_3yc_5_3=jtl_4*qs_3_1+jtl_3*qs_3_2+jtl_2*qs_3_3yc_5_4=jtl_4*qs_4_1+jtl_3*qs_4_2+jtl_2*qs_4_3yc_6_1=jtl_5*qs_1_1+jtl_4*qs_1_2+jtl_3*qs_1_3yc_6_2=

13、jtl_5*qs_2_1+jtl_4*qs_2_2+jtl_3*qs_2_3yc_6_3=jtl_5*qs_3_1+jtl_4*qs_3_2+jtl_3*qs_3_3yc_6_4=jtl_5*qs_4_1+jtl_4*qs_4_2+jtl_3*qs_4_3yc_7_1=jtl_6*qs_1_1+jtl_5*qs_1_2+jtl_4*qs_1_3yc_7_2=jtl_6*qs_2_1+jtl_5*qs_2_2+jtl_4*qs_2_3yc_7_3=jtl_6*qs_3_1+jtl_5*qs_3_2+jtl_4*qs_3_3yc_7_4=jtl_6*qs_4_1+jtl_5*qs_4_2+jtl_

14、4*qs_4_3yc_8_1=jtl_7*qs_1_1+jtl_6*qs_1_2+jtl_5*qs_1_3yc_8_2=jtl_7*qs_2_1+jtl_6*qs_2_2+jtl_5*qs_2_3yc_8_3=jtl_7*qs_3_1+jtl_6*qs_3_2+jtl_5*qs_3_3yc_8_4=jtl_7*qs_4_1+jtl_6*qs_4_2+jtl_5*qs_4_3yc_9_1=jtl_8*qs_1_1+jtl_7*qs_1_2+jtl_6*qs_1_3yc_9_2=jtl_8*qs_2_1+jtl_7*qs_2_2+jtl_6*qs_2_3yc_9_3=jtl_8*qs_3_1+jt

15、l_7*qs_3_2+jtl_6*qs_3_3yc_9_4=jtl_8*qs_4_1+jtl_7*qs_4_2+jtl_6*qs_4_3yc_10_1=jtl_9*qs_1_1+jtl_8*qs_1_2+jtl_7*qs_1_3yc_10_2=jtl_9*qs_2_1+jtl_8*qs_2_2+jtl_7*qs_2_3yc_10_3=jtl_9*qs_3_1+jtl_8*qs_3_2+jtl_7*qs_3_3yc_10_4=jtl_9*qs_4_1+jtl_8*qs_4_2+jtl_7*qs_4_3yc_11_1=jtl_10*qs_1_1+jtl_9*qs_1_2+jtl_8*qs_1_3y

16、c_11_2=jtl_10*qs_2_1+jtl_9*qs_2_2+jtl_8*qs_2_3yc_11_3=jtl_10*qs_3_1+jtl_9*qs_3_2+jtl_8*qs_3_3yc_11_4=jtl_10*qs_4_1+jtl_9*qs_4_2+jtl_8*qs_4_3yc_12_1=jtl_11*qs_1_1+jtl_10*qs_1_2+jtl_9*qs_1_3yc_12_2=jtl_11*qs_2_1+jtl_10*qs_2_2+jtl_9*qs_2_3yc_12_3=jtl_11*qs_3_1+jtl_10*qs_3_2+jtl_9*qs_3_3yc_12_4=jtl_11*q

17、s_4_1+jtl_10*qs_4_2+jtl_9*qs_4_3/計算出用每組加權系數計算出的預測交通量與實際交通量的差值絕對值之和的平均值。jc_1=(abs(jtl_4 - yc_4_1)+abs(jtl_5 - yc_5_1 )+abs(jtl_6 - yc_6_1)+abs(jtl_7 - yc_7_1)+abs(jtl_8 - yc_8_1 )+abs(jtl_9 - yc_9_1)+abs(jtl_10 - yc_10_1)+abs(jtl_11 - yc_11_1 )+abs(jtl_12 - yc_12_1)/9jc_2=(abs(jtl_4 - yc_4_2)+abs(jtl

18、_5 - yc_5_2 )+abs(jtl_6 - yc_6_2)+abs(jtl_7 - yc_7_2)+abs(jtl_8 - yc_8_2 )+abs(jtl_9 - yc_9_2)+abs(jtl_10 - yc_10_2)+abs(jtl_11 - yc_11_2 )+abs(jtl_12 - yc_12_2)/9jc_3=(abs(jtl_4 - yc_4_3)+abs(jtl_5 - yc_5_3 )+abs(jtl_6 - yc_6_3)+abs(jtl_7 - yc_7_3)+abs(jtl_8 - yc_8_3 )+abs(jtl_9 - yc_9_3)+abs(jtl_1

19、0 - yc_10_3)+abs(jtl_11 - yc_11_3 )+abs(jtl_12 - yc_12_3)/9jc_4=(abs(jtl_4 - yc_4_4)+abs(jtl_5 - yc_5_4 )+abs(jtl_6 - yc_6_4)+abs(jtl_7 - yc_7_4)+abs(jtl_8 - yc_8_4 )+abs(jtl_9 - yc_9_4)+abs(jtl_10 - yc_10_4)+abs(jtl_11 - yc_11_4 )+abs(jtl_12 - yc_12_4)/9/判斷出最小的平均值對應的那組加權系數為最優(yōu)系數,并顯示在對應的文本控件上。if (jc_

20、1 - jc_2)0 and (jc_1 - jc_3)0 and (jc_1 - jc_4)0 thensle_19.text=string(qs_1_1) sle_20.text=string(qs_1_2)sle_21.text=string(qs_1_3)elseif (jc_2 - jc_1)0 and (jc_2 - jc_3)0 and (jc_2 - jc_4)0 then sle_19.text=string(qs_2_1) sle_20.text=string(qs_2_2)sle_21.text=string(qs_2_3)elseif (jc_3 - jc_1)0 an

21、d (jc_3 - jc_2)0 and (jc_3 - jc_4)0 thensle_19.text=string(qs_3_1) sle_20.text=string(qs_3_2)sle_21.text=string(qs_3_3)elseif (jc_4 - jc_1)0 and (jc_4 - jc_2)0 and (jc_4 - jc_4)0 thensle_19.text=string(qs_4_1) sle_20.text=string(qs_4_2)sle_21.text=string(qs_4_3)returnend if(3)預測按鈕(cb_forecast)的click

22、事件代碼:dec2 qssx_1,qssx_2,qssx_3,yc_1,yc_2,yc_3,yc_4,yc_5,yc_6,yc_7,yc_8,yc_9,yc_10,yc_11,yc_12,yc2_1/ 將選出的最佳加權系數賦值給變量 qssx_1=dec(sle_19.text)qssx_2=dec(sle_20.text)qssx_3=dec(sle_21.text)/ 將每月的實際交通量賦值給相應的變量。jtl_1=integer(sle_1.text) jtl_2=integer(sle_2.text) jtl_3=integer(sle_3.text) jtl_4=integer(sl

23、e_4.text) jtl_5=integer(sle_5.text) jtl_6=integer(sle_6.text)jtl_7=integer(sle_23.text) jtl_8=integer(sle_24.text) jtl_9=integer(sle_25.text) jtl_10=integer(sle_26.text) jtl_11=integer(sle_27.text) jtl_12=integer(sle_28.text) / 計算出每月的預測交通量并賦值給變量。yc_1=dec(sle_1.text)yc_2=dec(sle_2.text)yc_3=dec(sle_3

24、.text)yc_4=jtl_3*qssx_1+jtl_2*qssx_2+jtl_1*qssx_3yc_5=jtl_4*qssx_1+jtl_3*qssx_2+jtl_2*qssx_3yc_6=jtl_5*qssx_1+jtl_4*qssx_2+jtl_3*qssx_3yc_7=jtl_6*qssx_1+jtl_5*qssx_2+jtl_4*qssx_3yc_8=jtl_7*qssx_1+jtl_6*qssx_2+jtl_5*qssx_3yc_9=jtl_8*qssx_1+jtl_7*qssx_2+jtl_6*qssx_3yc_10=jtl_9*qssx_1+jtl_8*qssx_2+jtl_

25、7*qssx_3yc_11=jtl_10*qssx_1+jtl_9*qssx_2+jtl_8*qssx_3yc_12=jtl_11*qssx_1+jtl_10*qssx_2+jtl_9*qssx_3yc2_1=jtl_12*qssx_1+jtl_11*qssx_2+jtl_10*qssx_3sle_22.text=string(yc2_1) integer series_nbr dec2 series_nbr2series_nbr = gr_1.AddSeries(flux)/ 將一到十二月的實際交通量畫在坐標圖上。gr_1.AddData(series_nbr , jtl_1 ,一月)gr_

26、1.AddData(series_nbr , jtl_2 ,二月)gr_1.AddData(series_nbr , jtl_3 ,三月)gr_1.AddData(series_nbr , jtl_4 ,四月)gr_1.AddData(series_nbr , jtl_5 ,五月)gr_1.AddData(series_nbr , jtl_6 ,六月)gr_1.AddData(series_nbr , jtl_7 ,七月)gr_1.AddData(series_nbr , jtl_8 ,八月)gr_1.AddData(series_nbr , jtl_9 ,九月)gr_1.AddData(se

27、ries_nbr , jtl_10 ,十月)gr_1.AddData(series_nbr , jtl_11 ,十一月)gr_1.AddData(series_nbr , jtl_12 ,十二月)/ 將一月到下一年一月的預測值畫在坐標圖上。series_nbr2 = gr_1.AddSeries(flux2)gr_1.AddData(series_nbr2 , yc_1 ,一月)gr_1.AddData(series_nbr2 , yc_2 ,二月)gr_1.AddData(series_nbr2 , yc_3 ,三月)gr_1.AddData(series_nbr2 , yc_4 ,四月)gr_1.AddData(series_nbr2 , yc_5 ,五月)gr_1.AddData(series_nbr2 , yc_6 ,六月)gr_1.AddData(seri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論