ISmSlideSmoothing.Width

Синтаксис

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

См. также:

ISmSlideSmoothing