% EX 6.1

% Bensinförbrukningen vid kallstart av personbil

% Mätningar av momentan bränsleförbrukning B [liter/mil] efter sträckor
% x [mil]
x = 0:0.125:1;
B = [2.60 2.08 1.72 1.45 1.26 1.13 1.04 0.97 0.92];

% Total förbrukning under första milen är A = ?_0^1 B dx
% Plotta B
figure(1)
clf
hold on
patch([x x(end) x(1)], [B 0 0], [0.8 0.8 0.8])
plot(x, B, 'ko')
xlabel('Sträcka sen kallstart [mil]');
ylabel('Momentan bränsleförbrukning [liter / mil]');
text(0.1, 0.5, 'Area under kurva = total förbrukning [liter] första milen')
axis([0 1 0 3])

% Trapetsregeln: 
% A ? T(h) + c*h^2 = (0.5*B(1) + sum(B(2:(end-1))) + 0.5*B(end))/h + c*h^2 
% där trunkeringsfelet i approximationen är c*h^2 och c är en okänd konstant

% Maximal noggrannhet med våra mätningar: h = 0.125
h = 0.125;
Th = h*(0.5*B(1) + sum(B(2:(end-1))) + 0.5*B(end))

% Richardsonextrapolation, trunkeringsfelet c*h^2 kan bestämmas genom att 
% variera steget: T(h) + c*h^2 = T(2*h) + 4*c*h^2
T2h = 2*h*(0.5*B(1) + sum(B([3 5 7])) + 0.5*B(end))
trunkeringsfel = (Th - T2h)/3

% Nu har vi härlett Simpsons formel, dvs trapetsregeln med
% richardsonextrapolation: S = Th - trunkeringsfel
S = Th - (Th - T2h)/3

 