Pengiraan Berangka dan Simulasi [English]

                                                                                                           

Kemungkinan-kemungkinan rujukan:

         S. E. Koonin & D. C. Meredith, Computational Physics (Addison-Wesley)

        T. Pang, An Introduction to Computational Physics (Cambridge Univ. Press)

 

Objektif topik:Pelajar harus memahami anggaran berangka kepada pengiraan kamiran, tahu kaedah-kaedah utama dan boleh menjalankannya di atas komputer. Simulasi komputer sebagai kamiran terhadap masa dan simulasi Monte Carlo sebagai lipatan kebarangkalian haruslah dihargai. Pelajar harus juga memahami teknik lelaran untuk mencari punca persamaan, dan keertian songsangan matriks dalam pengiraan berangka.

 

                                   

 

 Kamiran berangka – diskretkan pembolehubah kamiran, hasiltambah luas bahagian-bahagian diskret

 

Banyak masalah membabitkan kamiran (mis. penyelesaian sesetengah persamaan pembezaan).

 

Kamiran  diskretkan pembolehubah kamiran  hasiltambah luas ‘papan’-‘papan’.

 

 

PETUA TRAPEZIUM: anggapkan setiap papan satu trapezium

Luas trapezium ke i :

                         [di mana fi = f(xi)]

Anggaran kamiran:

           

 

Bahagian lengkung dianggarkan sebagai segmen garis lurus – hanya tepat kpd O(h):

            ralat O(h2)

 

PETUA SIMPSON: padankan parabola kepada 3 titik (2 papan) – 2n papan diperlukan

Luas papan-papan ke 2i-1 dan 2i :

                                

Anggaran kamiran:

           

 

Bahagian lengkung dianggarkan sebagai segmen parabola – tepat kpd O(h2):

            ralat O(h4)

 

Pengiraan kamiran boleh dibuat oleh komputer: gunakan gelung untuk membuat hasiltambah

 

                                                                                               

 

KAMIRAN ROMBERG: penghampiran berturutan:

pertimbangkan petua trapezium untuk n=2k papan yg memberikan anggaran I I0(k)

ralat O(h2), jadi             I = I0(k) + μ0h2

dan, utk 2k+1 papan (lebar h/2),             I = I0(k+1) + μ0(h/2)2

I ini ialah penghampiran lebih baik, namakan I1(k); selesaikan dgn menghapuskan μ0:

            I1(k)  = (1/3)(4 I0(k+1)  - I0(k))

Ini sebenarnya ialah petua Simpson, ralat O(h4).

Gunakan kaedah sama,             I = I1(k) + μ1h4   dan       I = I1(k+1) + μ1(h/2)4

memberikan      I2(k)  = (1/15)(16 I1(k+1)  - I1(k))    dengan ralat O(h6).

Secara amnya,

                        In(k)  = (4n In-1(k+1)  - In-1(k))/(4n-1)

dgn ralat

                        O(h2n+2).

 

Contoh:

 

2k

I0(k)  (Trapezium)

I1(k)  (Simpson)

I2(k)

I3(k)

I4(k)

1

0.750000000

 

 

 

 

2

0.708333333

0.694444444

 

 

 

4

0.697023809

0.693253967

0.693174603

 

 

8

0.694121851

0.693154532

0.693147901

0.693147479

 

16

0.693391202

0.693147652

0.693147193

0.693147182

0.693147181

 

Pengiraan dibuat oleh komputer secara lelaran/rekursi.

 

 

Di antara kaedah kamiran persamaan pembezaan:

 

Kaedah Euler:

diskretkan, guna:

           

kira y0 di sebelah kiri (drp syarat sempadan), kemudian dapatkan y1, y2, dst

Ralat O(h).

 

Kaedah Runge-Kutta:

Menggunakan kaedah trapezium (R-K peringkat kedua) dan Simpson (R-K peringkat keempat).

 

                                                                                               

 

Simulasi – kamiran pergerakan terhadap masa

Kaedah Monte Carlo – membabitkan kebarangkalian di sebilangan tahap – kamiran terhadap sebilangan ‘cubaan’ utk memberikan kebarangkalian keseluruhan (lipatan kebarangkalian)

 

Persamaan-persamaan pergerakan – biasanya persamaan pembezaan terhadap masa. Kamiran terhadap masa memberikan nilai kedudukan dsb selepas masa yang dikehendaki.

Simulasi komputer biasanya membabitkan pengiraan keadaan sistem terhadap perjalanan masa, iaitu kamiran persamaan pergerakan.

 

Sesetengah sistem misalnya sistem fizik statistik, sistem kuantum, mempunyai persamaan pergerakan yang mengandungi kebarangkalian. Penyelesaian sistem ini biasanya membabitkan penerbitan taburan kebarangkalian untuk keadaan-keadaan akhir. Ini boleh dilakukan menerusi kaedah Monte Carlo – banyak cubaan atau salinan kes penyelesaian dilakukan, dan bagi setiap cubaan itu, apabila kebarangkalian terbabit, satu nilai dipilih menurut kebarangkalian yg diberikan itu (jadi bila dikumpulkan, cubaan-cubaan ini akhirnya memberi taburan kebarangkalian tersebut). Bila pergerakan ditentukan kebarangkalian di sebilangan tahap – kaedah ini menghasilkan lipatan kebarangkalian.

 

 

Pemilihan berkebarangkalian membabitkan penjanaan nombor (pseudo)rawak. Kaedah Monte Carlo untuk menjana nombor rawak menurut taburan tertentu:

            f(x)dx mewakili kebarangkalian utk memperolehi nilai antara x dan x+dx

                        [f(x) fungsi taburan kebarangkalian]

            u ialah nombor rawak dgn taburan seragam g(u)=1 antara 0 dan 1

        Kaedah transformasi songsangan: katakan taburan untuk x diperolehi dengan mentransformasikan u menurut x = F-1(u). Ataupun, u = F(x). Tapi f(x)dx = g(u)du, ataupun f(x) = g du/dx = dF/dx.

Contoh: f(x) = (1/β)exp(-x/β).

            F(x) = 1-exp(-x/β) = u

            x = -β ln (1-u)

Pilih u secara rawak di antara 0 dan 1. Kemudian kira x = -β ln (1-u).

        Kaedah gubahan: pecahkan fungsi taburan kebarangkalian kepada hasiltambah fungsi-fungsi taburan kebarangkalian yang mudah dibuat.

Contoh: f(x) = (5/12)[1 + (x-1)4]; 0 ≤ x ≤ 2

            fa(x) = 1/2        fb(x) = (5/2)(x-1)4

            maka f(x) = (5/6) fa(x) + (1/6) fb(x)      (hasiltambah pekali = 1)

Jana nombor rawak u1. Jika u1 < 5/6, guna fa: jana u2, x = 2 u2. Jika u1 > 5/6 guna fb: jana u2, x = 1 + 5√(2u2)

        Kaedah penerimaan-penolakan (von Neumann): Jana dua nombor rawak seragam u1 dan u2, terima x = u1 jika u2 < f(u1) [yakni titik (u1, u2) di bawah lengkung kebarangkalian]

Kaedah Monte Carlo  kamiran taburan kebarangkalian

 

 

Pencarian punca – gunakan lelaran

 

Nak cari x di mana f(x) = 0.

 

Kaedah Newton: anggarkan lengkung f(x) dgn tangennya, berturutan:

           

diselesaikan secara lelaran.

 

Tulis dalam bentuk x = F(x): lelarkan xn+1 = F(xn) sehingga menumpu. Menumpu jika |F'(x)| < 1.

Contoh: x3=9.   xn+1 = 9xn-2 tak menumpu

                        xn+1 = 3 xn-1/2 menumpu kpd nilai 2.080

 

                                                                       

 

 Songsangan matriks – penyelesaian persamaan berangka secara terus

 

Kadang-kadang persamaan-persamaan berangka ditulis dalam bentuk matriks  boleh selesaikan terus menerusi songsangan matriks.

Kaedah: songsangan matriks tripepenjuru, lelaran, dll

 

 

balik ke sinopsis SMES3103