Advertisement
Guest User

Untitled

a guest
Jun 19th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. function lab3()
  2. T = [-5.00 -4.80 -4.60 -4.40 -4.20 -4.00 -3.80 -3.60 -3.40 -3.20 -3.00 -2.80 -2.60 -2.40 -2.20 -2.00 -1.80 -1.60 -1.40 -1.20 -1.00 -0.80 -0.60 -0.40 -0.20 0.00 0.20 0.40 0.60 0.80 1.00 1.20 1.40 1.60 1.80 2.00 2.20 2.40 2.60 2.80 3.00 3.20 3.40 3.60 3.80 4.00 4.20 4.40 4.60 4.80 5.00 5.20 5.40 5.60 5.80 6.00 6.20 6.40 6.60 6.80 7.00];
  3. Y = [-217.20 -198.58 -190.56 -169.78 -161.21 -142.92 -125.03 -96.20 -119.56 -88.24 -76.31 -72.98 -65.20 -63.61 -42.55 -47.65 -30.06 -27.50 -16.43 -17.70 -13.39 -11.78 4.09 -6.36 -11.19 3.03 -13.31 0.23 3.00 -6.03 0.10 -16.02 -4.39 -6.34 -17.59 -39.34 -38.89 -44.95 -43.50 -46.01 -73.25 -64.62 -81.79 -86.02 -111.45 -116.46 -142.02 -142.38 -148.94 -163.01 -189.59 -208.73 -216.31 -237.48 -235.97 -267.14 -279.62 -312.59 -329.20 -360.14 -369.02];
  4.  
  5. Y1 = OLS(Y,T);
  6.  
  7. delta = calculateDelta(Y,Y1);
  8. fprintf('Delta = %3.2f',delta);
  9.  
  10. plot(T,Y,'.b',T,Y1,'r');
  11. legend({'Sample';
  12. 'Model';
  13. })
  14. end
  15.  
  16. function Y2 = OLS(Y,T)
  17. psiMatrix = makePsiMatrix(T);
  18.  
  19. thetaArray = (psiMatrix' * psiMatrix)\(psiMatrix'*Y');
  20. disp(thetaArray);
  21.  
  22. n = length(Y);
  23. Y2 = zeros(1,n);
  24. for i = 1:n
  25. Y2(i) = thetaArray(1) + ...
  26. thetaArray(2)*T(i) + ...
  27. thetaArray(3)*T(i)^2;
  28. end
  29. end
  30.  
  31. function Psi = makePsiMatrix(T)
  32. n = length(T);
  33. p = 3;
  34. Psi = zeros(n,p);
  35. for i = 1:n
  36. for j = 1:p
  37. Psi(i,j) = T(i)^(j-1);
  38. end
  39. end
  40. end
  41.  
  42. function X = calculateDelta(Y,Ynew)
  43. n = length(Y);
  44. sum = 0;
  45. for i = 1:n
  46. sum = sum + power((Y(i) - Ynew(i)), 2);
  47. end
  48. X = sqrt(sum);
  49. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement