MissingData: IMissingData;
MissingData: Prognoz.Platform.Interop.Stat.SlMissingData;
Свойство MissingData определяет параметры обработки пропусков.
Метод обработки пропусков MissingDataMethod.Casewise не может быть использован.
Добавьте ссылку на системную сборку Stat.
Sub UserProc;
Var
bpf: SmBandpassFilter;
can: Array[22] Of Double;
res, i: Integer;
Begin
bpf := New SmBandpassFilter.Create;
can[00] := 6209; can[01] := 6385;
can[02] := 6752; can[03] := 6837;
can[04] := 6495; can[05] := 6907;
can[06] := 7349; can[07] := Double.Nan;
can[08] := 7180; can[09] := Double.Nan;
can[10] := 7132; can[11] := 7137;
can[12] := 7473; can[13] := 7722;
can[14] := 8088; can[15] := 8516;
can[16] := 8941; can[17] := Double.Nan;
can[18] := 9380; can[19] := 9746;
can[20] := 9907; can[21] := 10333;
bpf.ModelPeriod.FirstPoint := 0;
bpf.ModelPeriod.LastPoint := 21;
bpf.Serie.Value := can;
bpf.MissingData.Method := MissingDataMethod.LinInterpolation;
bpf.Width := 2;
bpf.FrequencyHigh := 7;
bpf.FrequencyLow := 2;
res := bpf.Execute;
If res <> 0 Then
Debug.WriteLine(bpf.Errors);
Else
Debug.WriteLine("=== Сглаженный ряд ===");
Debug.Indent;
For i := 0 To bpf.Fitted.Length - 1 Do
Debug.WriteLine(bpf.Fitted[i]);
End For;
Debug.Unindent;
End If;
End Sub UserProc;
После выполнения примера в окно консоли будет выведен сглаженный ряд.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Stat;
…
Public Shared Sub Main(Params: StartParams);
Var
bpf: SmBandpassFilter;
can: Array[22] Of Double;
res, i: Integer;
Fitted: System.Array;
Begin
bpf := New SmBandpassFilter.Create();
can[00] := 6209; can[01] := 6385;
can[02] := 6752; can[03] := 6837;
can[04] := 6495; can[05] := 6907;
can[06] := 7349; can[07] := Double.Nan;
can[08] := 7180; can[09] := Double.Nan;
can[10] := 7132; can[11] := 7137;
can[12] := 7473; can[13] := 7722;
can[14] := 8088; can[15] := 8516;
can[16] := 8941; can[17] := Double.Nan;
can[18] := 9380; can[19] := 9746;
can[20] := 9907; can[21] := 10333;
bpf.ModelPeriod.FirstPoint := 0;
bpf.ModelPeriod.LastPoint := 21;
bpf.Serie.Value := can;
bpf.MissingData.Method := MissingDataMethod.mdmLinInterpolation;
bpf.Width := 2;
bpf.FrequencyHigh := 7;
bpf.FrequencyLow := 2;
res := bpf.Execute();
If res <> 0 Then
System.Diagnostics.Debug.WriteLine(bpf.Errors);
Else
System.Diagnostics.Debug.WriteLine("=== Сглаженный ряд ===");
System.Diagnostics.Debug.Indent();
Fitted := bpf.Fitted;
For i := 0 To bpf.Fitted.Length - 1 Do
System.Diagnostics.Debug.WriteLine(Fitted[i]);
End For;
System.Diagnostics.Debug.Unindent();
End If;
End Sub;
См. также: