Số ngẫu nhiên phân phối đều U(0,1)

Một phần của tài liệu Nghiên cứu lý thuyết mô phỏng hệ thống trên máy tính ứng dụng thiết kế mô hình lò điện hồ quang luyện thép siêu cao công suất.pdf (Trang 47 - 50)

Khi mô phỏng hệ thống ngƣời ta thƣờng cần có các số ngẫu nhiên phân phối theo những luật phân phối nhất định để mô phỏng các sự kiện ngẫu nhiên xảy ra trong hệ. Số ngẫu nhiên phân phối đều trong khoảng [0,1] thƣờng đƣợc dùng làm cơ sở để sản sinh ra số ngẫu nhiên có các phân phối khác nhau. Phân phối đều U (0,1) đóng vai trò quan trọng trong kỹ thuật mô phỏng, vì vậy đã đƣợc nhiều ngƣời nghiên cứu và có nhiều phƣơng pháp tạo ra nó. Sau đây chúng ta nghiên cứu một số phƣơng pháp thông dụng tạo ra phân phối đều U (0,1).

a) Dùng máy phát ngẫu nhiên

Máy phát số ngẫu nhiên dựa trên nguyên tắc sử dụng nhiễu do các thiết bị điện tử gây ra. Ví dụ có thể điện áp u(t) lấy trên điện trở trong một mạch khuếch đại điện tử đóng vai trò nhiễu ngẫu nhiên.

b) Dùng bảng số ngẫu nhiên

Bằng nhiều cách ngƣời ta lập bảng các số ngẫu nhiên, ví dụ:

91499 14523 68479 27686 46162 83554 94750 89923 37089 20048 80336 94598 26940 36858 70297 34135 53140 33340 42050 82341 44104 81949 85157 47954 32979 26575 57600 40881 22222 06413 12550 73742 11100 02040 12860 74697 96694 89419 23707 25815 63606 49329 16505 34484 20419 52563 43651 77082 07207 31790 61196 90446 26457 47774 51924 33792 65394 59593 42582 60527 15474 45266 95270 79953 59367 83848 82396 10118 33211 59446 94557 28573 67897 54187 54622 44431 91190 42592 92929 45973 42418 16213 97344 09721 16868 48767 03071 12059 23701 46670 23523 78317 73208 89837 68935 91416 26252 29633 05522 82562 04493 52494 75248 33824 45862 51025 61962 79335 65337 12472 00549 97654 64051 88159 96119 63896 54692 82391 23287 29529 35963 15307 26898 09354 33351 35462 77974 50024 90103 39333 59808 08391 45427 26824 83609 49700 13021 24892 78565 20160 46058 85236 01390 92286 77281 44077 93910 83647 70617 42941 32197 00597 37397 25241 05567 07007 86743 17157 85394 11838 69234 61406 20117 45204 15956 60000 18743 92423 97118 96338 19565 41430 01758 75379 40419 21585 66674 36806 84962 85207 45155 14938 19476 07246 43667 94543 59047 90033 20826 69541 94864 31994 36168 10851 34888 81553 01540 35456 05014 51176 98086 24826 45240 28044 44999 08896 39094 73407 35441 31880 33185 16232 41941 50949 89435 48481 88695 41994 37548 73043 80951 00406 96382 70774 10151 23387 25016 25298 94624 61171 79752 49140 71961 28296 69861 02591 74852 20539 00187 59579 18633 32537 98145 06571 31010 24674 05455 61247 77938 91936 74029 43902 77557 32270 97790 17119 52527 58021 80814 51748 34178 45611 80993 37143 05335 12969 56127 19225 26040 90234 11644 49883 52079 84827 59381 71539 09973 33440 15020 0994

Khi mô phỏng có thể lấy các số ngẫu nhiên trong bảng ra theo một thứ tự nào đó: lấy lần lƣợt, lấy cách quãng .v.v.

Ưu điểm: Có thể lặp lại dãy số ngẫu nhiên để dùng cho các lần mô phỏng khác nhau.

Nhược điểm: Tốn bộ nhớ để nhớ bảng số ngẫu nhiên.

c) Dùng thuật toán tạo số giả ngẫu nhiên

Ngày nay ngƣời ta thƣờng dùng thuật toán tạo số ngẫu nhiên. Nhƣ vật rất thuận tiện vì khi lập trình chỉ cần lập chƣơng trình con tạo số ngẫu nhiên mà không cần phải ghi dãy số ngẫu nhiên vào bộ nhớ của máy tính. Tuy nhiên ngƣời ta chứng minh đƣợc rằng bất kỳ thuật toán nào cũng tạo ra số ngẫu nhiên.

* Thuật toán lấy phần giữa của bình phương

Cho số khởi đầu x0 = 0,2152, vậy số ngẫu nhiên x1, x2… tiếp theo sẽ đƣợc tính nhƣ sau:

(x0)2 = 0,04631104  x1 = 0,6311 (x1)2 = 0,39828721  x2 = 0,8287

Nhƣợc điểm của phƣơng pháp này là rất dễ xảy ra trong trƣờng hợp chu kỳ lặp lại của số ngẫu nhiên quá ngắn.

Ví dụ chọn x0 = 0,4500. Vậy ta có

(x0)2 = 0,20250000  x1 = 0,2500 (x1)2 = 0,06250000  x2 = 0,2500 (x2)2 = 0,06250000  x3 = 0,2500 * Thuật toán nhân

Thuật toán Zi + 1 =  xi

xi = [Z i + 1 ] Trong đó:

Xi – số ngẫu nhiên phân bố đều U (0,1);  Z i + 1  - là phần lẻ của số Z i + 1

 - hệ số;  = 8t  3;

Ví dụ chọn t = 5   = 8 x 5  3 lấy  = 37 Cho trƣớc x0 = 0,37843

Ta có dãy số ngẫu nhiên sau Z1 =  x0  x1 =  Z1  Z2 =  x1  x2 =  Z1  Cụ thể đƣợc tính nhƣ sau: Z1 = 37 x 0,37843 = 14,00191 x1 = 0,00191 Z2 = 37 x 0,00191 = 0,07067  x2 = 0,07067 Z3 = 37 x 0,07067 = 2,61497  x3 = 0,61479 Z4 = 37 x 0,61479= 22,74723  x4 = 0,74723

Dãy số ngẫu nhiên thu đƣợc sẽ phân phối đều trong khoảng 0,1. Ngƣời ta chứng minh đƣợc chu kỳ lặp lại của dãy số ngẫu nhiên này đủ lớn nên có thể dùng để dùng trong phép mô phỏng.

Một phần của tài liệu Nghiên cứu lý thuyết mô phỏng hệ thống trên máy tính ứng dụng thiết kế mô hình lò điện hồ quang luyện thép siêu cao công suất.pdf (Trang 47 - 50)

Tải bản đầy đủ (PDF)

(109 trang)