Nama : Vivin Findika Aprilla E S
NIM : 241001029
Matkul: Persamaan Diferensial Numerik
clc; clear; close all;
% Persamaan diferensial
f = @(x,y) x.^2 - y; % Contoh: dy/dx = x^2 - y
% Input nilai awal
x0 = 0; % titik awal
y0 = 1; % nilai awal
h = 0.1; % langkah
xn = 0.4; % batas nilai x yang ingin dicari
% Menentukan jumlah iterasi
N = round((xn - x0)/h);
% Inisialisasi array
x = zeros(1, N+1);
y = zeros(1, N+1);
% Set nilai awal
x(1) = x0;
y(1) = y0;
% Iterasi metode Prediktor Korektor
for i = 1:N
% Prediktor (Euler Eksplisit)
y_pred = y(i) + h * f(x(i), y(i));
% Korektor
y(i+1) = y(i) + (h/2)*( f(x(i), y(i)) + f(x(i)+h, y_pred) );
% Update x
x(i+1) = x(i) + h;
end
% Tampilkan hasil
T = table(x', y', 'VariableNames', {'x', 'y'});
disp(T)
% Plot grafik
plot(x, y, 'o-', 'LineWidth', 2)
grid on
xlabel('x')
ylabel('y')
title('Metode Prediktor-Korektor (Heun)')
Output program