Metode prediktor–korektor
artikel ini perlu dirapikan agar memenuhi standar Wikipedia. |
Metode Prediktor-korektor
metode Trapesium-Euler
Metode-metode yang sudah dibahas pada bagian-bagian sebelumnya yaitu Metode Euler dan Runge-kutta merupakan metode satu langkah untuk menyeleseikan persamaan diferensial biasa.sekarang kita akan membahas metode multi langkah,untuk menghitung yk dengan menggunakan gradien-gradien fj,dengan j < k,yang sudah diperoleh sebelumnya.metode ini tidak dapat dimulai dengan sendirinya karena tergantung pada metode-metode satu langkah seperti metode Euler untuk mendapatkan beberapa gradien awal.
metode prediktor-korektor terdiri atas dua bagian:(1) bagian prediktor,yang memprediksi yk dengan menggunakan gradien-gradien fj (j < k),dan (2)bagian korektor,yang menggunakan suatu rumus integrasi untuk memperbaiki hampiran.
Metode Trapesium-Euler menggunakan metode Euler sebagai algoritma korektor.jika kita gunakan indek pertama untuk menunjukan interval(langkah)dab indek kedua untuk menunjukan urutan hampiran,maka rumus Euler dapat ditulis sebagai
yk+1,0=yk,* +hfk,*
dengan aturan rumus dan'*' berturut-turut menunjukan hampiran awal dan akhir.pada rumus Euler,yk,* = yk = y(tk),dan fk,* = f(tk,yk).
Sebagai persamaan korektor,aturan trapesium dinyatakan sebagai
yk+1,j = yk,* + h/2(fk,* + fk+1,j-1)
Dengan j adalah penghitung iterasi proses koreksi dan
fk+,j-1 = f(tk+1,yk+1,j-1)
persamaan korektor yang digunakan sebanyak yang diperlukan untuk mendapatkan keakuratan yang diinginkan. perhatikan bahwa dengan menggunakan persamaan Euler sebagai nilai awal,yk+,j dapat dihitung untuk j=1,2 ....dengan rumus trapesium.proses koreksi dapat dihentikan setelah iterasi ke-n(ditentukan)atau setelah |yk+1,j+1-yk+1,j|<€,untuk suatu nilai € yang ditentukan.
Algoritma(Metode Trapesium Euler)
- menghitung hampiran penyeleseian masalah nilai awal y'=f(t,y) dengan y(t0)=y0 pada [t0,b].
- INPUT:n,t0,b,y0,€ dan fungsi f
- OUTPUT:(tk,yk),k=1,2,..n
- LANGKAH-LANGKAH:
- Hitung h=(b-t0)/n
- FOR k=1,2,..n
hitung f-=f(tk-1yk-1)
hitung tk=tk-1+h,z0=yk-1+h*f-
REPEAT
(a) Hitung z=z0+h/2[f-+f(tk,z0)]
(b) Hitung selisih=z-z0
(c) simpan z0=z
UNTIL|selisih|<€
simpan yk=z0
3. SELESEI
Berikut diberikan gambaran pemakaian metode ini melalui contoh.
Seleseikan persamaan diferensial dibawah ini
dy/dx=x*sqrt(y) sedemikian sehingga y(1)=1.
Penyeleseian
kita akan menyeleseikan PD ini dengan dua cara
menggunakan metode Euler,dan
menggunakan metode Trapesium-Euler
metode euler
a=1;b=2;h=0.1;y0=1; xy=[a y0]; for t=a+h:h:b,y=y0+h*t*sqrt(y0); xy=[xy; t y]; y0=y;end xy
xy =
1.0000 1.0000 1.1000 1.1100 1.2000 1.2364 1.3000 1.3810 1.4000 1.5455 1.5000 1.7320 1.6000 1.9425 1.7000 2.1795 1.8000 2.4452 1.9000 2.7423 2.0000 3.0735
metode Trapesium-Euler
a=1;b=2;h=0.1;t01=0.0001; y=1;xy=[a y]; for t=a+h:h:b, y0=y+h*t*sqrt(y);y1=y0; y2=y+h*(t*sqrt(y)+(t+h)*sqrt(y1))/2; while abs(y2-y1)>=t01, y1=y2;y2=y+h*(t*sqrt(y)+(t+h)*sqrt(y1))/2; end xy=[xy; t y2];y=y2;end xy
xy =
1.0000 1.0000 1.1000 1.1185 1.2000 1.2547 1.3000 1.4107 1.4000 1.5883 1.5000 1.7899 1.6000 2.0176 1.7000 2.2741 1.8000 2.5619 1.9000 2.8837 2.0000 3.2426
Bandingkan nilai tersebut dengan nilai-nilai penyeleseian eksak
1 1 1.1 1.1077562 1.2 1.2321 1.3 1.3747563 1.4 1.5376 1.5 1.7226562 1.6 1.9321 1.7 2.1682562 1.8 2.4336 1.9 2.7307563 2. 3.0625
nilai eksak tersebut didapat dari pendekatan analitis