Metabase: Object;
Свойство Metabase определяет репозиторий, в котором будет искаться пользовательский модуль, используемый в выражении.
Данное свойство актуально у статистических методов, для которых можно задавать выражения:
Для выполнения примера в репозитории должен находится модуль с идентификатором «STAT_FUNC», содержащий пользовательскую функцию «test».
Sub UserProc;
Var
sm : SmNonLinearEquations;
functions : array[2] Of string;
initvalues : array[2] Of double;
status: integer;
provider: ISmExpressionProvider;
Begin
sm := New SmNonLinearEquations.Create;
provider := sm As ISmExpressionProvider;
provider.Metabase := MetabaseClass.Active;
functions[0] := "y+12.34-0.21*134";
functions[1] := "y2-35.17*8-1.64*y+STAT_FUNC.test";
sm.Functions := functions;
initvalues[0] := 1;
initvalues[1] := 1;
sm.InitApproximation := initvalues;
sm.CoefficientsOrder := "y;y2";
status := sm.Execute;
debug.WriteLine(status);
debug.WriteLine(sm.Errors);
If (status = 0) Then
debug.WriteLine(sm.Solution[0]);
debug.WriteLine(sm.Solution[1]);
debug.WriteLine(sm.FunctionValues[0]);
debug.WriteLine(sm.FunctionValues[1]);
End If;
End Sub UserProc;
После выполнения примера в окно консоли будут выведены результаты расчета. В выражениях для метода будет использована пользовательская функция.
См. также: