%----------------------------------------------------- % % Matlab script corresponding to a hill height problem. % Set up was: % % From ground level, % A is measured 1236 meters high % B is measured 1941 meters high % C is measured 2417 meters high % % From A, B is 711 meters higher % From A, C is 1177 meters higher % From B, C is 475 meters higher % % This file differs from hills1.m only by lining up % the elements in defining the string s, so that any % typos or errors is easier to spot. % %----------------------- % % Started : 11 Jan 2009 % Modified : 24 Feb 2009, to correct the last statement % of the last observation from A -> B to B -> C. % %----------------------------------------------------- G = [ 1 0 0 0 1 0 0 0 1 -1 1 0 -1 0 1 0 -1 1]; b = [1236; 1941; 2417; 711; 1177; 475]; [number_of_observations, number_of_parameters] = size(G); h = G\b; r = b - G*h; disp('residual (error) vector = '); disp(r); s = ['Best least squares fit for data is height(A) = ', num2str(h(1)), ... ', height(B) = ', num2str(h(2)), ... ', height(C) = ', num2str(h(3))]; disp(s); [outlier, outlier_index] = max(abs(r)); s = ['Worst outlier is observation ', num2str(outlier_index)]; disp(s);