Advertisement
filipao223

trend0.m

Apr 25th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.57 KB | None | 0 0
  1. ValuesDetrend = zeros(length(ValoresLidos), 1);
  2. polyvValues = zeros(length(ValoresLidos), 1)
  3.  
  4. %plot(ValoresLidos,'-o')
  5. j=1;
  6. ini=1;
  7. for t=30:30:length(ValoresLidos)
  8.     fim = t-j + 1;
  9.     tempVals = ValoresLidos(j:t);
  10.     mediaTemp = mean(tempVals);
  11.     stdTemp = std(tempVals);
  12.     meanTemp = repmat(mediaTemp, length(tempVals), 1);
  13.     sigmaTemp = repmat(stdTemp, length(tempVals), 1);
  14.  
  15.     indOutliers = find(abs(tempVals - meanTemp)>3*sigmaTemp);
  16.  
  17.     %disp(length(indOutliers))
  18.     %disp(j)
  19.     %disp(t)
  20.  
  21.     for k=1:1:length(indOutliers)
  22.         if(tempVals(indOutliers(k)) > mediaTemp + 3*stdTemp)
  23.             tempVals(indOutliers(k)) = mediaTemp + 2.5*stdTemp;
  24.         end
  25.         if(tempVals(indOutliers(k)) < mediaTemp - 3*stdTemp)
  26.             tempVals(indOutliers(k)) = mediaTemp - 2.5*stdTemp;
  27.         end
  28.     end
  29.  
  30.     Nv = length(tempVals);
  31.     Tv = 0:Nv-1;
  32.  
  33.     Tv = transpose(Tv);
  34.  
  35.     %Tendencias
  36.     ValoresLidos(j:t) = tempVals(ini:fim);
  37.     ValuesDetrend(j:t) = detrend(tempVals, 'constant');
  38.     ValoresLidos_noTrend0(j:t) = ValoresLidos(j:t) - ValuesDetrend(j:t);
  39.  
  40.     polyfValues = polyfit(Tv, tempVals, 2);
  41.     polyvValues(j:t) = polyval(polyfValues, Tv);
  42.     ValoresLidos_noTrend2(j:t) = ValoresLidos(j:t) - polyvValues(j:t);
  43.  
  44.     % disp(j)
  45.     j = j +30;
  46. end
  47.  
  48. n = length(ValoresLidos);
  49. Tm = 0:n-1;
  50.  
  51. %figure(1)
  52. %subplot(3,1,1);
  53. %plot(ValoresLidos);
  54. %title('Valores lidos');
  55. %subplot(3,1,2);
  56. %plot(ValuesDetrend);
  57. %title('Tendencia');
  58. %subplot(3,1,3);
  59. %plot(ValoresLidos_noTrend0);
  60. %title('Valores lidos sem tendencia grau 0')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement