Metode prediktor–korektor

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:
  1. Hitung h=(b-t0)/n
  2. 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 y1

         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