Residuals: IVariableStub;
Свойство Residuals определяет переменную, в которую будет выгружаться ряд остатков при расчете задачи моделирования.
Свойство устарело, используйте IMsMethodSeries.Residuals.
Для выполнения примера предполагается наличие в контейнере задачи моделирования. Первая модель, входящая в задачу, использует для расчета Грей-метод.
Sub Main;
Var
MB: IMetabase;
KontKey: Integer;
MObj: IMetabaseObject;
Problem: IMsProblem;
CalcSett: IMsProblemCalculationSettings;
Calculation: IMsProblemCalculation;
Model: IMsModel;
Trans: IMsFormulaTransform;
VarTrans: IMsFormulaTransformVariable;
Tree: IMsFormulaTransformSlicesTree;
Slice: IMsFormulaTransformSlice;
Selector: IMsFormulaTransformSelector;
Formula: IMsFormula;
Grey: IMsGreyForecastTransform;
Residuals_Var: IVariableStub;
Begin
MB := MetabaseClass.Active;
KontKey := MB.ItemById("KONT_MODEL").Key;
MObj := MB.ItemByIdNamespace("PROBLEM_1", KontKey).Edit;
//переменные, в которые будут выгружаться данные
Residuals_Var := MB.ItemByIdNamespace("Residuals_Var", KontKey).Edit As IVariableStub;
Problem := MObj As IMsProblem;
Model := (Problem.MetaModel.CalculationChain.Item(0) As IMsCalculationChainModel).Model;
Model := (Model As IMetabaseObject).Edit As IMsModel;
Model.Transform.Series.Add(Residuals_Var);
Trans := Model.Transform;
VarTrans := Trans.Outputs.Item(0);
Tree := VarTrans.SlicesTree(VarTrans);
Slice := Tree.CreateSlice(1);
Selector := Model.Transform.CreateSelector;
Selector.Slice := Slice;
Formula := Model.Transform.Transform(Selector);
Grey := Formula.Method As IMsGreyForecastTransform;
//ряд остатков
Grey.Residuals := Residuals_Var;
//параметры для расчета задачи
CalcSett := Problem.CreateCalculationSettings;
Calculation := Problem.Calculate(CalcSett);
Calculation.Run;
(Model As IMetabaseObject).Save;
MObj.Save;
End Sub Main;
После выполнения примера в список выходных переменных модели будет добавлена переменная с идентификатором "Residuals_Var". После расчета задачи, в нее будет выгружен ряд остатков.
См. также: