Ex 1.3

clear

% Derivera analytiskt
syms xs;
ys = ((xs-7)^(5/2) + 2*sin(pi*sqrt(xs))) / (sqrt(xs + 4*log(xs - 2*pi)) - 1);
yprim = diff(ys,xs);
yprim7 = subs(yprim,xs,7);

% Beräkna numerisk derivata
h = 0.04;
disp('      h       D1      D2      D1-yprim    D2-yprim');
for i = 1:4
    x = 7 + h*(0:2);
    y = subs(ys,xs,x);
    % Framåtdifferans
    D1 = (y(2) - y(1))/h;
    % Andra ordningens framåtdifferans
    D2 = (-y(3) + 4*y(2) - 3*y(1)) / (2*h);
    disp([h D1 D2 D1-yprim7 D2-yprim7]);
    h = h/2;
end
      h       D1      D2      D1-yprim    D2-yprim
    0.0400   -1.5784   -1.6707    0.1021    0.0097

    0.0200   -1.6282   -1.6781    0.0522    0.0023

    0.0100   -1.6541   -1.6800    0.0263    0.0004

    0.0050   -1.6672   -1.6804    0.0132    0.0001