Lapres 8 LINA
-
Author
irene-karlina -
Category
Documents
-
view
244 -
download
1
Embed Size (px)
description
Transcript of Lapres 8 LINA
Nama: KarlinaNPM/Semester: 1331010004 / IVRomb./Grup: III / ANPM/Teman Praktek: 1331010001 Yohanes Gilang YLABORATORIUM TEKNIK KIMIAFAKULTAS TEKNOLOGI INDUSTRIUPN VETERAN JAWA TIMURPraktikum: Matematika TeknikPercobaan: Metode Runge Kutta dan Euler Tanggal: 7 Mei 2015Pembimbing: Ir. Tatiek Sri Hajati, MT
LAPORAN RESMI
SOAL
1. Metode Eulera) Apa yang anda ketahui tentang Metode Euler dalam matlab?Jelaskan dan berikan contohnya !b) Sebutkan Kelebihan & Kekurangan dari Metode Euler !c) Buatlah Program dari Metode Euler beserta penyelesaian algoritmanya dan Flowchart !
2. Metode Runge Kuttaa) Apa yang anda ketahui tentang Metode Runge Kutta dalam matlab ? Jelaskan dan berikan contohnya !b) Sebutkan Kelebihan & Kekurangan Metode Runge Kutta!c) Buatlah Program dari Metode Runge Kutta beserta penyelesaian algoritmanya dan Flowchart !
JAWABAN
1. Metode Eulera. Metode Euler adalah salah satu dari metode satu langkah yang paling sederhana. Di banding dengan beberapa metode lainnya, metode ini paling kurang teliti. Namun demikian metode ini perlu dipelajari mengingat kesederhanaannya dan mudah pemahamannya sehingga memudahkan dalam mempelajari metode lain yang lebih teliti.Metode Euler dapat diturunkan dari Deret Taylor:
Apabila nilai x kecil, maka suku yang mengandung pangkat lebih tinggi dari 2 adalah sangat kecil dan dapat diabaikan, sehingga persamaan diatas dapat ditulis menjadi:
(8.5)
Dengan membandingkan persamaan (8.4) dan persamaan (8.5) dapat disimpulkan bahwa pada metode Euler, kemiringan = = f (xi , yi), sehingga persamaan (8.5) dapat ditulis menjadi:
(8.6)dengan i = 1, 2, 3, Persamaan (8.6) adalah metode Euler, nilai yi + 1 diprediksi dengan menggunakan kemiringan fungsi (sama dengan turunan pertama) di titik xi untuk diekstrapolasikan secara linier pada jarak sepanjang pias x. Gambar 8.3, adalah penjelasan secara grafis dari metode Euler.
Gambar 8.3. Metode EulerContoh soal:Selesaikan persamaan di bawah ini:
dari x = 0 sampai x = 4 dengan panjang langkah x = 0,5 dan x = 0,25.Penyelesaian:Penyelesaian eksak dari persamaan diatas adalah:
Penyelesaian numerik dilakukan secara bertahap pada beberapa titik yang berurutan. Dengan menggunakan persamaan (8.6), dihitung nilai yi + 1 yang berjarak x = 0,5 dari titik awal yaitu x = 0. Untuk i = 0 maka persamaan (8.6), menjadi:
Dari kondisi awal, pada x = 0 nilai fungsi y (0) = 1, sehingga:
Kemiringan garis di titik (x0 ; y0) adalah:
sehingga:
Nilai eksak pada titik x = 0,5 adalah:
Jadi kesalahan dengan metode Euler adalah:
Pada langkah berikutnya, yaitu untuk i = 1, persamaan (8.6) menjadi:
Hitungan dilanjutkan dengan prosedur diatas dan hasilnya diberikan dalam Tabel 8.1, Untuk x = 0,25, hitungan dilakukan dengan prosedur diatas dan hasilnya juga diberikan dalam Tabel 8.1. Dalam contoh tersebut dengan nilai x berbeda, dapat disimpulkan bahwa penggunaan x yang lebih kecil akan memberikan hasil yang lebih teliti. Tetapi konsekuensinya waktu hitungan menjadi lebih lama.
Tabel 8.1. Hasil hitungan dengan metode Euler
b. Kelebihan :Metode ini merupakan metode untuk penyelesaian numerik persamaan diferensial yang paling sederhanaKekurangan :Karena kesederhanaannya metode ini pula lah yang tingkat ketelitian yang paling rendah.
c. Program clear all;clc;syms x;disp ('Metode Euler');f=input('Masukkan Persamaan = ');a=input('Masukkan Batas x1 = ');b=input('Masukkan Batas x2 = ');n=input('jumlah interval = ');disp(' x yeksak yperkiraan error ');f1=int(f);y0=1;eksak=subs(f1,x,a);err=(y0-eksak)/y0;disp([a' eksak' y0' err']);for k=a:n:(b-n) ak=a+n; fk=subs(f,x,a); y1=y0+(fk*n); eksak=subs(f1,x,ak)+1; err=100*((eksak-y1)/eksak); disp([ak' eksak' y1' err']); a=ak; y0=y1;end
Hasil Run
Flowchart
2. Metode Runge-KuttaPada saat membahas metode Euler untuk penyelesaian persamaandiferensial, kita telah sampai pada kesimpulan bahwa truncation error metode Euler terus membesar seiring dengan bertambahnya iterasi. Dikaitkan dengan hal tersebut, metode Runge-Kutta Orde Empat menawarkan penyelesaian persamaan diferensial dengan pertumbuhan truncation error yang jauh lebih kecil. Persamaan-persamaan yang menyusun metode Runge-Kutta Orde Empat adalahContohDiketahui persamaan diferensial
dengan mengganti y menjadi w, kita bisa nyatakan f(ti,wi) sebagai
Jika N = 10, maka
Sekarang mari kita demonstrasikan metode Runge-Kutta Orde Empat ini. Untuk menghitung W1, tahap-tahap perhitungannya dimulai dari menghitung k1
akhirnya diperoleh W1
Dengan cara yang sama, w2,w3,w4 dan seterusnya dapat dihitung. Tabel berikut menunjukkan hasil perhitungannya.
Dibandingkan dengan metode Euler, tingkat pertumbuhan truncation error, pada kolom |wiyi|, jauh lebih rendah sehingga metode Runge-Kutta Orde Empat lebih disukai untuk membantu menyelesaikan persamaan-diferensial-biasa.Contoh soal:Selesaikan persamaan berikut dengan metode Runge-Kutta order 4.
dari x = 0 sampai x = 4 dengan menggunakan langkah Kondisi awal pada x = 0 adalah y = 1.
Penyelesaian:Langkah pertama pada metode Runge-Kutta order 4 yaitu menghitung k1, k2, k3 dan k4.
Dengan menggunakan persamaan (8.33a), dihitung nilai y (x):
a. Kelebihan :Metode Runge-Kutta memberikan hasil ketelitian yang lebih besar dan tidak memerlukan turunan atau integral dari fungsi, seperti pada metode Euler Kekurangan :Metode Runge-Kutta perlu pengerjaan dengan cara yang panjang dan rumit. Terkadang menyebabkan terdapatnya kesalahan pada perhitungan b. Programclear all;clc;syms x;syms y;disp('Program Runge Kutta');f=input('masukkan nilai persamaan = ');a=input('nilai x = ');b=input('nilai y = ');dx=input('delta x = ');n=input('tentukan hingga x = ');disp('x y k1 k2 k3 k4');for evi=a:dx:n k1=subs(f,{x,y},{a,b}); a2=a+((1/2)*dx); b2=b+((1/2)*dx*k1); k2=subs(f,{x,y},{a2,b2}); a3=a+((1/2)*dx); b3=b+((1/2)*dx*k2); k3=subs(f,{x,y},{a3,b3}); a4=a+dx; b4=b+(dx*k3); k4=subs(f,{x,y},{a4,b4}); b5=b+((dx/6)*(k1+(2*k2)+(2*k3)+k4)); disp([a' b' k1' k2' k3' k4']); b=b5; a=a4;end
Hasil Run
Flowchart
START
syms x;
disp ('Metode Euler');f=input('Masukkan Persamaan = ');a=input('Masukkan Batas x1 = ');b=input('Masukkan Batas x2 = ');n=input('jumlah interval = ');disp(' x yeksak yperkiraan error ');
f1=int(f);y0=1;eksak=subs(f1,x,a);err=(y0-eksak)/y0;
disp([a' eksak' y0' err']);
for k=a:n:(b-n)
ak=a+n;fk=subs(f,x,a);y1=y0+(fk*n);eksak=subs(f1,x,ak)+1;err=100*((eksak-y1)/eksak);
disp([ak' eksak' y1' err']);
a=ak;y0=y1;
END
YES
NO
START
syms x; syms y;
disp('Program Runge Kutta'); f=input('masukkan nilai persamaan = ');a=input('nilai x = '); b=input('nilai y = '); dx=input('delta x = '); n=input('tentukan hingga x = '); disp('x y k1 k2 k3 k4');
for evi=a:dx:n
k1=subs(f,{x,y},{a,b});a2=a+((1/2)*dx);b2=b+((1/2)*dx*k1);k2=subs(f,{x,y},{a2,b2});a3=a+((1/2)*dx);b3=b+((1/2)*dx*k2);k3=subs(f,{x,y},{a3,b3});a4=a+dx;b4=b+(dx*k3);k4=subs(f,{x,y},{a4,b4});b5=b+((dx/6)*(k1+(2*k2)+(2*k3)+k4));disp([a' b' k1' k2' k3' k4']);b=b5;a=a4;
END
YES
NO