Belajar Matlab – Diferensial Numerik dengan Metode Euler

1 min read

Belajar Matlab Metode Euler dengan Persamaan Diferensial Biasa

Ahmaddahlan.NET – Metode Euler adalah solusi numerik untuk persamaan Diferensial biasa orde I. Persamaan dari Deret Taylor adalah :

y(t_i+1)=y(t_i)+(t_{i+1}-t_i)y'(t_i)+\frac{(t_{i+1}-t_i)^2}{2}y"(ξ_i)

jika :

h = (t_{i+1}-t_i)

maka persamaan di atas dapat ditulis :

y(t_i+1)=y(t_i)+hy'(t_i)+\frac{h^2}{2}y"(ξ_i)

Asumsi yang diterapkan pada Metode Eular adalah suku terakhir adalah turunan ke dua yang dapat diabaikan sehingga :

y_{i+1}=y_i+y'h

dimana y’ = f(xi,yi)

Nilai turunan dari y dengan metode Eular didapatkan dari mengekstrapolasi garis linier diinterval h, sehingga semakin banyak interval nilai h maka semakin besar error yang didapatkan.

A. Studi Kasus

Misalkan sebuah persamaaan diferensial orde I seperti berikut :

\frac{dy}{dx}=-2x^3+12x^2-20x +8,5

dimana x = 0 sampai x = 4 dengan lebar langkah 0.5 dengan syarat awal y(0) = 1.

Langkah 1. Hitung terlebih dahulu solusi analitik dari persamaan tersebut !

Langkah 2. Tentukan f(x) = -2x3+12x3-20x+8.5, kemudian subtitusi nilai x ke dalam persamaan tersebut!

Langkah 3. Hitung nilai y menggunakan persamaan : yi+1=yi+y’h

Langkah 4. Buatlah tabel dan lengkapi

xy’y
08,51
0,5
1
4

Langkah 5. Buat Algoritma dengan Metode tersebut di Matlab.

Contoh Algortima dan Scriptnya di Matlab!

clear all
clc
format long

b=4; batas atas
a=0; batas bawah
h=0.5;
N=(b-a)/h;
y0=1; nilai y awal
x0=0; nilai x awal

%perubahan t per step

for i=1:N x(i)=a+(i*h);
end

%solusi y
y(1)=y0+h*(-2*x0^3+12*x0^2-20*x0+8.5);
for i=2:N
k=i-1
y(i)=y(k)+h*(-2*x(k)^3+12*x(k)^2-20*x(k)+8.5);
end

%solusi analitik
for i=1:N
w(i)=-0.5*x(i)^4+4*x(i)^3-10*x(i)^2+8.5*x(i)+1;
end
Plot (x,y,x,w);

Silahkan Run Script tersebut, disana akan terlihat perbedaan solusi antara Metode Euler dan Metode Analitik.

Tugas Latihan !

Gambarlah Grafik antara hasil Analitik dan Metode Euler untuk persamaan diberensial biasa berikut :

f(x,y)=\frac{y}{2x+1}