clear all, close all, clc
y = 0;  yPrim = 1;   % Startvarden
u = [y  yPrim]';   % Omskrivning till u-vektor
h = 0.1;   % Steglangd
xStart = 2;  xSlut = 3;   % Start och slut for oberoende variabeln
X = [xStart:h:xSlut];   % Vektor med oberoende variabeln
U = u';   % Lagrar y som 1:a kolumnen och y' som 2:a
for  x = X(1:end-1)   % Nast sista x ger sista y
    % Runge-Kutta 4
    f1 = funk (x          ,  u             );
    f2 = funk (x + h/2  , u + f1*h/2);
    f3 = funk (x + h/2  , u + f2*h/2);
    f4 = funk (x + h     , u + f3*h   );
    deriv = (f1 + 2*f2 + 2*f3 + f4) / 6;   % Viktat medelvarde av derivatan
    u  = u + deriv * h;
    U = [U ; u'];   % Lagrar y och y'
end
x_y_yPrim = [X'  U]   % Skriver ut x, y och y'
plot (X', U(:, 1), X', U(:, 2)), legend('y', 'yPrim')

**********************************************************
function  uPrim = funk (x, u)
u2Prim = u(2) - u(1) + x;
uPrim = [u(2)  u2Prim]';



