MissingData: IMissingData;
MissingData: Prognoz.Platform.Interop.Stat.SlMissingData;
Свойство MissingData определяет параметры обработки пропусков.
По умолчанию обработка пропусков не выполняется.
Добавьте ссылку на системную сборку Stat.
Sub UserProc;
Var
Slide: SmSlideSmoothing;
s: Array[10] Of Double;
res, i: Integer;
Begin
Slide := New SmSlideSmoothing.Create;
s[0] := 670.2; s[1] := 576.06;
s[2] := 856.9; s[3] := Double.Nan;
s[4] := 885.4; s[5] := 1011.8;
s[6] := 995.44; s[7] := 1064.74;
s[8] := 780.85; s[9] := Double.Nan;
Slide.Serie.Value := s;
Slide.ModelPeriod.FirstPoint := 1;
Slide.ModelPeriod.LastPoint := 10;
Slide.MissingData.Method := MissingDataMethod.SampleAverage;
Slide.Width := 3;
Slide.CenterMovingAverage := True;
res := Slide.Execute;
If res <> 0 Then
Debug.WriteLine(Slide.Errors);
Else
Debug.WriteLine("== Сглаженный ряд ==");
For i := 0 To Slide.Fitted.Length - 1 Do
Debug.WriteLine(" " + (i+1).ToString + ". " + Slide.Fitted[i].ToString);
End For;
End If;
End Sub UserProc;
После выполнения примера в окно консоли будет выведен сглаженный ряд.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Stat;
…
Public Shared Sub Main(Params: StartParams);
Var
Slide: SmSlideSmoothing;
s: Array[10] Of Double;
res, i: Integer;
Fitted: System.Array;
Begin
Slide := New SmSlideSmoothing.Create();
s[0] := 670.2; s[1] := 576.06;
s[2] := 856.9; s[3] := Double.Nan;
s[4] := 885.4; s[5] := 1011.8;
s[6] := 995.44; s[7] := 1064.74;
s[8] := 780.85; s[9] := Double.Nan;
Slide.Serie.Value := s;
Slide.ModelPeriod.FirstPoint := 1;
Slide.ModelPeriod.LastPoint := 10;
Slide.MissingData.Method := MissingDataMethod.mdmSampleAverage;
Slide.Width := 3;
Slide.CenterMovingAverage := True;
res := Slide.Execute();
If res <> 0 Then
System.Diagnostics.Debug.WriteLine(Slide.Errors);
Else
System.Diagnostics.Debug.WriteLine("== Сглаженный ряд ==");
Fitted := Slide.Fitted;
For i := 0 To Slide.Fitted.Length - 1 Do
System.Diagnostics.Debug.WriteLine(" " + (i+1).ToString() + ". " + Fitted[i].ToString());
End For;
End If;
End Sub;
См. также: