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