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 yₖ dengan menggunakan gradien-gradien fⱼ,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 yₖ dengan menggunakan gradien-gradien fⱼ (j < k),dan (2)bagian korektor,yang menggunakan suatu rumus integrasi untuk memperbaiki hampiran.
Metode Trapesium-Euler menggunakan metode Euler sebagai algoritme 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,* = yₖ = y(tₖ),dan fk,* = f(tₖ,yₖ).

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(tₖ₊₁,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.

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
kita amati bahwa pendekatan dengan metode euler lebih dekat ke nilai eksak sehingga mempunyai galat yang ledih kecil dibanding dengan pendekatan trapesium-euler,pendekatan trapesium-euler mempunyai nilai galat yang lebih besar