Width: Integer;
Свойство Width определяет размер окна.
Под размером окна понимается интервал времени, на котором будет определятся среднее значение элементов. Чем больше размер окна, тем более «гладкий» получается ряд. Размер окна должен быть не меньше двух и не больше длины сглаживаемого ряда.
По умолчанию свойство имеет значение 5.
Sub Main;
Var
Slide: SmSlideSmoothing;
s, ar: Array Of Double;
d: Double;
res, i: Integer;
Begin
s := New Double[10];
s[0] := 670.2;
s[1] := 576.06;
s[2] := 717.6;
s[3] := 856.9;
s[4] := 885.4;
s[5] := 1011.8;
s[6] := 995.44;
s[7] := 1064.74;
s[8] := 1033.3;
s[9] := 780.8584552;
Slide := New SmSlideSmoothing.Create;
Slide.Serie.Value := s;
Slide.ModelPeriod.FirstPoint := 1;
Slide.ModelPeriod.LastPoint := 10;
Slide.Width := 3;
Slide.CenterMovingAverage := True;
res := Slide.Execute;
If res <> 0 Then
Debug.WriteLine(Slide.Errors);
Else
Debug.WriteLine("== Сглаженный ряд ==");
ar := Slide.Fitted;
For i := 0 To Slide.ModelPeriod.LastPoint - 1 Do
d := ar[i];
Debug.WriteLine(i.ToString + ", " + d.ToString);
End For;
End If;
End Sub Main;
После выполнения примера в окно консоли будет выведен сглаженный ряд:
Module execution started
== Сглаженный ряд ==
0, 1.#QNAN
1, 654.62
2, 716.85333333333335
3, 819.9666666666667
4, 918.0333333333333
5, 964.21333333333325
6, 1023.9933333333333
7, 1031.1600000000001
8, 959.63281840000002
9, 1.#QNAN
Module execution finished
См. также: