P. 1
metode Trapesium

metode Trapesium

|Views: 1,031|Likes:
Published by dt2_dyahtitu

More info:

Published by: dt2_dyahtitu on May 19, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

01/07/2013

pdf

text

original

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.

[sunting] 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

[sunting] 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.2000 1.3000 1.4000 1.5000 1.6000 1.7000 1.8000 1.9000 2.0000

1.1100 1.2364 1.3810 1.5455 1.7320 1.9425 2.1795 2.4452 2.7423 3.0735

[sunting] 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.1000 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000 1.8000 1.9000 2.0000 1.0000 1.1185 1.2547 1.4107 1.5883 1.7899 2.0176 2.2741 2.5619 2.8837 3.2426

Bandingkan nilai tersebut dengan nilai-nilai penyeleseian eksak
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2. 1 1.1077562 1.2321 1.3747563 1.5376 1.7226562 1.9321 2.1682562 2.4336 2.7307563 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 trapesiumeuler,pendekatan trapesium-euler mempunyai nilai galat yang lebih besar

If we want to implement Euler method in matlab, we can write down like the code below: function[t,y]=modiveuler(f,a,n,h,y0) t=[a];y=[y0]; for k=2:n+1, t=[t; a+(k-1)*h]; y=[y; y(k-1)+h*f(t(k-1),y(k-1))]; end

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->