% EX 8.11
% Accelererande bil
clear

% Avstånd från 0 som funktion av tiden: s(t) = s0 + v0*t + a*t^2/2

% a)
% Beräkna s0, v0, a från mätningar av s, t
t = [2 5 9]';
A = [ones(3,1) t t.^2/2];
s = [8.7 40.9 125.7]';	

sva = A\s;
disp('a)')
disp(['s0 = ' num2str(sva(1)) ' m, v0 = ' num2str(sva(2)) ...
	' m/s, a = ' num2str(sva(3)) ' m/s^2'])

% b)
% Teoretisk felanalys (med konditionstal)
kappa = 202;   % Teoretiskt konditionstal för A (maximumnorm)
E_s = 0.05;
s_norm = max(s);
sva_norm = max(sva);

disp('b)')
E_sva_teor = kappa*E_s*sva_norm/s_norm

% c)
% Experimentell felanalys (störningsräkning)
E = [];
E_t = 0.01;

for i = 1:3  % Stör s1, s2, s3
	s_stor = s;
	s_stor(i) = s_stor(i) + E_s;
	sva_stor = A\s_stor;
	E = [E abs(sva_stor - sva)];
end
disp('c)')
disp('Bara s:')
E_sva_exp = sum(E, 2);
disp(['s0 = ' num2str(sva(1)) '±' num2str(E_sva_exp(1)) ...
	' m , v0 = ' num2str(sva(2))  '±' num2str(E_sva_exp(2)) ...
	' m/s, a = ' num2str(sva(3)) '±' num2str(E_sva_exp(3)) ' m/s^2'])

for i = 1:3  % Stör t1, t2, t3
	t_stor = t;
	t_stor(i) = t_stor(i) + E_t;
	A_stor = [ones(3,1) t_stor t_stor.^2/2];
	sva_stor = A_stor\s;
	E = [E abs(sva_stor - sva)];
end
disp('Både s och t:')
E_sva_exp = sum(E, 2);
disp(['s0 = ' num2str(sva(1)) '±' num2str(E_sva_exp(1)) ...
	' m , v0 = ' num2str(sva(2))  '±' num2str(E_sva_exp(2)) ...
	' m/s, a = ' num2str(sva(3)) '±' num2str(E_sva_exp(3)) ' m/s^2'])

% Körning
%a)
%s0 = 2.1857 m, v0 = 0.26667 m/s, a = 2.9905 m/s^2
%b)
%E_sva_teor =
%    0.2403
%c)
%Bara s:
%s0 = 2.1857±0.2 m , v0 = 0.26667±0.091667 m/s, a = 2.9905±0.016667 m/s^2
%Både s och t:
%s0 = 2.1857±0.65991 m , v0 = 0.26667±0.34087 m/s, a = 2.9905±0.067378 m/s^2


