Ahmad Dahlan God does not play dice with the Cosmos.

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

y

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; % semakin nilai semakin detail hasil yang ditunjukkan
N = (b-a)/h;
y0 = 1; % nilai y awal
x0 = 0; % nilai x awal

% inisialisasi array x dan y
x = zeros(1, N+1);
y = zeros(1, N+1);
w = zeros(1, N+1);

%perubahan t per step
for i = 1:N+1
    x(i) = a + (i-1)*h;
end

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

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

% Plot hasil
plot(x, y, 'b', x, w, 'r');
xlabel('x');
ylabel('y');
legend('Numerik', 'Analitik');
title('Perbandingan Solusi Numerik dan Analitik');

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}

Ahmad Dahlan God does not play dice with the Cosmos.