1. Trang chủ
  2. » Luận Văn - Báo Cáo

mô hình hóa các hệ thống ngẫu nhiên bản tin dự báo thời tiết của tp hồ chí minh

14 602 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 115 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mưa – tuân theo luật phân bố mũ với cường độ  1 1/ngày Nắng – tuân theo luật phân bố mũ với cường độ  2 1/ngày Trời đầy mây – tuân theo luật phân bố đều từ a đến b ngày Mây thay đổi tu

Trang 1

1.Tên và nội dung đề bài:

Thời tiết tại thành phố Hồ Chí Minh là kết quả tổ hợp của 3 trong 4 yếu tố thời tiết sau đây:

Mưa –Trời đầy mây - Mây thay đổi-Nắng

Mưa + Trời đầy mây +Mây thay đổi Dự báo :Mưa

Mưa +Mây thay đổi +Nắng Dự báo : Mát

Trời đầy mây +Mây thay đổi + Nắng Dự báo :Nắng

Nếu ngày nào chỉ có 0,1,2 hoặc 4 yếu tố tác động thì dự báo theo xu thế thời tiét 2 ngày trước đó

Mưa – tuân theo luật phân bố mũ với cường độ  1 1/ngày

Nắng – tuân theo luật phân bố mũ với cường độ  2 1/ngày

Trời đầy mây – tuân theo luật phân bố đều từ a đến b ngày

Mây thay đổi tuân theo luật phân bố đều từ c đến d ngày

Hãy thiết lập bài toán ,chọn các thồng số của các luật phân bố và tiến hành mô phỏng dự báo thời tiết ứng với 2 mùa mưa và nắng(khô)

Đưa ra dự báo trong 1 tuần

2.Phân tích đề bài.

Như vậy đề bài yêu cầu đưa ra dự bào thời tiết tại thành phố Hồ Chí Minh trong 1 tuần Việc đưa ra dự báo mưa,nắng,mát là phụ thuộc vào các sự kiện hôm đó có xảy ra các hiện tượng nào trong 4 sự kiện:mưa,nắng ,mây thay đổi,trời đầy mây.Và các sự kiện này xuất hiện tuân theo các luật phân bố mũ

và phân bố đều như trên,việc đưa ra dự báo hoàn toàn phụ thuộc vào các giá trị xác suất được nhập vào từ người sử dụng,và việc đang là mùa mưa hay khô (nắng ) là do người sử dụng nhập vào thông qua giá trị các tham số Như vậy đây là 1 hệ thống ngẫu nhiên ,và ta sẽ sử dụng phương pháp mô phỏng hệ ngẫu nhiên để làm bài toán này

Trang 2

Đặc điểm chung của phương pháp mô phỏng hệ ngẫu nhiên:nó còn

có tên là Monte-Carlo.Phương pháp này sử dụng các số ngẫu nhiên có phân

bố xác suất nhất định Thực chất của nó là xây dựng trên máy tính hệ thống

S với các quan hệ nội tại của nó,ở đầu vào có tác động mang tính ngẫu nhiên của môi trường xung quanh E,trên cơ sở đó ta nhận được dáng điệu phản ứng của hệ thống và các tín hiệu đầu ra của hệ thống Mỗi lần thực hiện phép thử ta thu được 1 kết quả chứa đựng những thông tin về hệ thống Nếu

số phép thử càng lớn thì kết quả thu được lấy trung bình sẽ càng chinh xác

và ổn định

Để mô phỏng ,ta cần 1 bộ số ngẫu nhiên ,số ngẫu nhiên phân bố đầu trong khoảng (0,1) thường được làm cơ sở sinh ra các số phân bố khác Để tạo ra nó ta có thể dùng máy phát số ngẫu nhiên hoặc dùng bảng số ngẫu nhiên hoặc dùng algorithm tạo số giả ngẫu nhiên

.Để tạo phân bố mũ Expo():

Lấy U~U(0,1)

Vậy X= -*ln(U)

.Để tạo phân bố đều U(a,b):

Lấy U~U(0,1)

Vậy X=a+(b-a)*U

3.Xác định các biến ngẫu nhiên

Theo đề bài ta có các biến ngẫu nhiên là :Um(mưa),Un(nắng),Utdm(trời đầy mây),Umtd(mây thay đổi) tuân theo các luật phân bố mũ và đều U(a,b)

4.Phân tích thuật giải.

Theo yêu cầu bài toan ta có thuật giải để làm như sau:

1 Đầu tiên tạo ra bộ số ngẫu nhiên U(0,1),rồi từ đó tạo ra các bộ số ngẫu nhiên theo các luật phân bố mũ,đều tương ứng.Từ đó ta tính được xác

Trang 3

suất xuất hiện các yếu tố mưa ,nắng ,trời đầy mây,mây thay đổi trong các

ngày trong tuần.Qua các số liệu thu được ta sẽ đưa ra các dự báo thích hợp

2 Tìm khoảng cách các ngày có mưa-có mưa, có nắng-có nắng

3 Tìm sự kiện thời tiết các ngày trong tuần

4 So sánh các sự kiện thời tiết tác động trong ngày với luật cho ở bài

ra để đưa ra dự báo thời tiết trong ngày

Trang 4

Thời tiết 2 ngày trước

Mát+

Mát

Nắng+

nắng

Mưa+

Mát

Mưa+

Mưa

Mưa+

Nắng

Mát+ Nắng

5.Lưu đồ tính toán.

`

Mưa+Trời đầy mây+Mây thay đổi

MƯA

Mưa+Mây thay đổi+Nắng

MÁT

Trời đầy mây+Mây thay đổi+Nắng

Các thụng số thời tiết

Trang 5

6.Xác định các điều kiện đầu,mô phỏng và ngừng mô phỏng

Các điều kiện đầu để mô phỏng là các tham số cho phân bố mũ

lamda1,lamda2 và phân bố đều a,b,c,d và cả thời tiết của 2 ngày trước đó

(tức thứ 7 và chủ nhật tuần trước),chương trình sẽ tính toán và đưa ra các dự báo thích hợp theo các thông số nhập theo thuật toán như trên.Chương trình

sẽ dừng lại khi có yêu cầu cầu người dùng

7.Chương trình mụ phỏng.

Private Sub dubao()

'khai bao bien:

Dim a As Integer

Dim b As Integer

Dim c As Integer

Dim d As Integer

Dim k1 As Integer

Dim k2 As Integer

Dim k3 As Integer

Dim k4 As Integer

Dim i As Integer

Dim Um As Double

Dim Un As Double

Dim Utdm As Double

Dim Umtd As Double

Dim lamda1 As Double

Dim lamda2 As Double

Dim ngay(1 To 10) As String

Dim mua(1 To 10) As Integer

Dim nang(1 To 10) As Integer

Dim trdmay(1 To 10) As Integer

Dim mtdoi(1 To 10) As Integer

'nhap cac gia tri tu ban phim :

lamda1 = Val(Text1.Text)

lamda2 = Val(Text2.Text)

a = Val(Text3.Text)

b = Val(Text4.Text)

Trang 6

c = Val(Text5.Text)

d = Val(Text6.Text)

ngay(1) = "TROI " & UCase(Text7.Text) 'thoi tiet hom thu 7

ngay(2) = "TROI " & UCase(Text8.Text) 'thoi tiet hom chu nhat

If (lamda1 < 0) Or (lamda2 < 0) Or (a > b) Or (c > d) Or (a < 0) Or (b < 0)

Or (c < 0) Or (d < 0) Or (Text7.Text = "") Or (Text8.Text = "") Then

MsgBox ("Ban Nhap Sai Hoac Thieu So Lieu Roi! Moi Ban Nhap Lai!!") Else

'khoi tao cac gia tri ngau nhien:

Um = Rnd

Um = (-lamda1) * Log(Um) 'khoang cach giua 2 lan co mua

k1 = Abs(Round(Um, 0)) 'lam tron so

Un = Rnd

Un = (-lamda2) * Log(Un) 'khoang cach giua 2 lan co nang

k2 = Abs(Round(Un, 0)) 'lam tron so

Utdm = Rnd

Utdm = a + (b - a) * Utdm 'khoang cach giua 2 lan co troi day may

k3 = Abs(Round(Utdm, 0)) 'lam tron so

Umtd = Rnd

Umtd = c + (d - c) * Umtd 'khoang cach giua 2 lan co may thay doi k4 = Abs(Round(Umtd, 0)) 'lam tron so

For i = 1 To 9

mua(i) = 0

nang(i) = 0

trdmay(i) = 0

mtdoi(i) = 0

Next i

If (k1 > 9) Then

k1 = 9

End If

If (k2 > 9) Then

k2 = 9

End If

If (k3 > 9) Then

k3 = 9

End If

If (k4 > 9) Then

k4 = 9

End If

Trang 7

If k1 > 0 Then

For i = 1 To k1 'tim cac ngay co su kien mua

mua(i) = 1

Next i

End If

If k2 > 0 Then

For i = 1 To k2 'tim cac ngay co su kien nang

nang(i) = 1

Next i

End If

If k3 > 0 Then

For i = 1 To k3 'tim cac ngay co su kien troi day may

trdmay(i) = 1

Next i

End If

If k4 > 0 Then

For i = 1 To k4 'tim cac ngay co su kien may thay doi

mtdoi(i) = 1

Next i

End If

'du bao thoi tiet cac ngay trong tuan toi:

i = 3

Do

k1 = 0

k2 = 0

k3 = 0

If (mua(i - 2) = 1) And (nang(i - 2) = 1) And (mtdoi(i - 2) = 1) And (trdmay(i - 2) = 0) Then

ngay(i) = "TROI MAT"

k1 = 1

End If

If (mua(i - 2) = 1) And (trdmay(i - 2) = 1) And (mtdoi(i - 2) = 1) And (nang(i - 2) = 0) Then

ngay(i) = "TROI MUA"

k2 = 1

End If

If (trdmay(i - 2) = 1) And (mtdoi(i - 2) = 1) And (nang(i - 2) = 1) And (mua(i - 2) = 0) Then

Trang 8

ngay(i) = "TROI NANG"

k3 = 1

End If

If (k1 = 0) And (k2 = 0) And (k3 = 0) Then

If StrComp(UCase(ngay(i - 2)), "TROI MUA") = 0 And StrComp(UCase(ngay(i - 1)), "TROI MUA") = 0 Then

ngay(i) = "TROI MUA"

End If

If StrComp(UCase(ngay(i - 2)), "TROI NANG") = 0 And StrComp(UCase(ngay(i - 1)), "TROI NANG") = 0 Then

ngay(i) = "TROI NANG"

End If

If StrComp(UCase(ngay(i - 2)), "TROI MAT") = 0 And StrComp(UCase(ngay(i - 1)), "TROI MAT") = 0 Then

ngay(i) = "TROI MAT"

End If

If StrComp(UCase(ngay(i - 2)), "TROI MUA") = 0 And StrComp(UCase(ngay(i - 1)), "TROI MAT") = 0 Then

ngay(i) = "TROI MUA"

End If

If StrComp(UCase(ngay(i - 2)), "TROI MAT") = 0 And StrComp(UCase(ngay(i - 1)), "TROI MUA") = 0 Then

ngay(i) = "TROI MUA"

End If

If StrComp(UCase(ngay(i - 2)), "TROI MUA") = 0 And StrComp(UCase(ngay(i - 1)), "TROI NANG") = 0 Then

ngay(i) = "TROI MAT"

End If

If StrComp(UCase(ngay(i - 2)), "TROI NANG") = 0 And StrComp(UCase(ngay(i - 1)), "TROI MUA") = 0 Then

ngay(i) = "TROI MAT"

End If

If StrComp(UCase(ngay(i - 2)), "TROI MAT") = 0 And StrComp(UCase(ngay(i - 1)), "TROI NANG") = 0 Then

ngay(i) = "TROI NANG"

End If

If StrComp(UCase(ngay(i - 2)), "TROI NANG") = 0 And StrComp(UCase(ngay(i - 1)), "TROI MAT") = 0 Then

ngay(i) = "TROI NANG"

End If

Trang 9

End If

i = i + 1

Loop Until i = 10

'dua ra thong bao

Text9 = ngay(3)

Text10 = ngay(4)

Text11 = ngay(5)

Text12 = ngay(6)

Text13 = ngay(7)

Text14 = ngay(8)

Text15 = ngay(9)

If ngay(3) = "TROI MUA" Then mua2.Visible = True

maym2.Visible = True

mat2.Visible = False

mayn2.Visible = False

End If

If ngay(3) = "TROI NANG" Then mat2.Visible = True

mayn2.Visible = True

mua2.Visible = False

maym2.Visible = False

End If

If ngay(3) = "TROI MAT" Then mat2.Visible = True

maym2.Visible = True

mayn2.Visible = False

mua2.Visible = False

End If

If ngay(4) = "TROI MUA" Then mua3.Visible = True

maym3.Visible = True

mat3.Visible = False

mayn3.Visible = False

End If

If ngay(4) = "TROI NANG" Then mat3.Visible = True

mayn3.Visible = True

Trang 10

mua3.Visible = False

maym3.Visible = False

End If

If ngay(4) = "TROI MAT" Then mat3.Visible = True

maym3.Visible = True

mayn3.Visible = False

mua3.Visible = False

End If

If ngay(5) = "TROI MUA" Then mua4.Visible = True

maym4.Visible = True

mat4.Visible = False

mayn4.Visible = False

End If

If ngay(5) = "TROI NANG" Then mat4.Visible = True

mayn4.Visible = True

mua4.Visible = False

maym4.Visible = False

End If

If ngay(5) = "TROI MAT" Then mat4.Visible = True

maym4.Visible = True

mayn4.Visible = False

mua4.Visible = False

End If

If ngay(6) = "TROI MUA" Then mua5.Visible = True

maym5.Visible = True

mat5.Visible = False

mayn5.Visible = False

End If

If ngay(6) = "TROI NANG" Then mat5.Visible = True

mayn5.Visible = True

mua5.Visible = False

maym5.Visible = False

Trang 11

End If

If ngay(6) = "TROI MAT" Then mat5.Visible = True

maym5.Visible = True

mayn5.Visible = False

mua5.Visible = False

End If

If ngay(7) = "TROI MUA" Then mua6.Visible = True

maym6.Visible = True

mat6.Visible = False

mayn6.Visible = False

End If

If ngay(7) = "TROI NANG" Then mat6.Visible = True

mayn6.Visible = True

mua6.Visible = False

maym6.Visible = False

End If

If ngay(7) = "TROI MAT" Then mat6.Visible = True

maym6.Visible = True

mayn6.Visible = False

mua6.Visible = False

End If

If ngay(8) = "TROI MUA" Then mua7.Visible = True

maym7.Visible = True

mat7.Visible = False

mayn7.Visible = False

End If

If ngay(8) = "TROI NANG" Then mat7.Visible = True

mayn7.Visible = True

mua7.Visible = False

maym7.Visible = False

End If

If ngay(8) = "TROI MAT" Then

Trang 12

mat7.Visible = True

maym7.Visible = True

mayn7.Visible = False

mua7.Visible = False

End If

If ngay(9) = "TROI MUA" Then muacn.Visible = True

maymcn.Visible = True

matcn.Visible = False

mayncn.Visible = False

End If

If ngay(9) = "TROI NANG" Then matcn.Visible = True

mayncn.Visible = True

muacn.Visible = False

maymcn.Visible = False

End If

If ngay(9) = "TROI MAT" Then matcn.Visible = True

maymcn.Visible = True

mayncn.Visible = False

muacn.Visible = False

End If

End If

End Sub

Private Sub Command1_Click() Call dubao

End Sub

Private Sub Command2_Click() form2.Show

End Sub

Private Sub Command4_Click() Beep

End

End Sub

Trang 13

8.Thiết kế giao diện

 Bài này sử dụng phần mềm Visual Basic để thiết kế giao diện và tớnh toỏn

9.Kết quả

Ta được chương trình mô phỏng như sau :

10.Nhận xét

Như vậy bằng việc mô phỏng hệ ngẫu nhiên ta đã đưa ra được các

dự báo thời tiết tại TPHCM trong 1 tuần,dựa vào các thông số cần thiết được nhập Tuy nó không là 1 bài dự báo chính xác thời tiết nhưng nó là 1 ví dụ điển hình cho phương pháp mô hình hóa hệ ngẫu nhiên ,kết quả thu

được ,trong phạm vi bài toán là khá đáng tin cậy

Trang 14

11.Tài liệu tham khảo

[1].Giáo trình Mô hình hóa hệ thống và mô phỏng (GS.TS Nguyễn Công Hiền)

[2].Giáo trình tự học lập trình Visual Basic 6.0 (Nguyễn Tiến,Đặng Xuân Hường,Nguyễn Văn Hoài,Trương NGọc Lan)

Ngày đăng: 13/05/2014, 20:50

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w