% EulerDemo4.m
% Illustration des Eulerverfahrens 4. Ordnung anhand eines
% einfachen Beispieles: d/dt x = 1+x^2+t^3, x(1) = -4
clc
clear
help EulerDemo4
xstart=-4
tstart = 1
tend = 2
t = tstart;
x=xstart;
tau = input('Schrittweite eingeben: ')
maxstep = (tend-tstart)/tau;
for istep=1:maxstep
    xi(istep) = x;
    ti(istep) = t;
    f  = 1 + x^2 + t^3;
    f2 = 2*x*f + 3*t^2;
    f3 = 2*f^2 + 2*x*f2 + 6*t;
    f4 = 2*x*f3 + 6 * f*f2 + 6;
    x = x + tau * (f + tau/2 * (f2 + tau/3 * (f3 + tau/4 * f4)));
    t = t + tau;
    fprintf('%d %f  %f  \n', istep, t, x)
end
plot(ti,xi)