Advertisement
maestro252

lineal

Mar 23rd, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.97 KB | None | 0 0
  1. function l = lineal()
  2. clc;
  3. clear all;
  4. cont = 10;
  5. b = [67.052;68.008;69.803;72.024;73.400;72.063;74.669;74.487;74.065;76.777];
  6. a = [1 1994; 1 1995; 1 1996; 1 1997; 1 1998; 1 1999; 1 2000; 1 2001; 1 2002; 1 2003];
  7.  
  8. at = transpose(a);
  9.  
  10. newa = mtimes(at, a);
  11. newb = mtimes(at, b);
  12.  
  13. n = size(newa, 1);
  14.  
  15. for j = 1 : n - 1
  16.     if abs(newa(j,j)) < eps; error('Pivote cero encontrado'); end;
  17.     for i = j + 1 : n
  18.         mult = newa(i,j)/newa(j,j);
  19.         for k = j + 1 : n
  20.             newa(i,k) = newa(i,k) - mult * newa(j,k);
  21.         end
  22.         newb(i) = newb(i) - mult * newb(j);
  23.     end
  24. end
  25.  
  26. for i = n : -1 : 1
  27.     for j = i + 1 : n
  28.         newb(i) = newb(i) - newa(i,j)*x(j);
  29.     end
  30.     x(i) = newb(i) / newa (i, i);
  31. end
  32.  
  33. x = transpose(x);
  34. ax = mtimes(a, x);
  35. gamma = minus(b, ax);
  36.  
  37. ec = 0;
  38. for i = 1 : size(gamma)
  39.    ec = ec + (gamma(i))^2;
  40. end
  41.  
  42. rmec = sqrt(ec/(cont));
  43.  
  44. for i = 1994 : 2003
  45.    d(i - 1993) = x(1) + x(2)*i;
  46. end
  47.  
  48. l = [d rmec];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement