ExternalEquations: IMsModelList;
Свойство ExternalEquations возвращает коллекцию внешних уравнений системы.
В системе нелинейных уравнений возможно использовать внешние и внутренние уравнения (модели).
Системы, содержащие только внешние или только внутренние уравнения, могут быть отредактированы в интерфейсе контейнера моделирования. Системы, содержащие и внешние, и внутренние уравнения, невозможно редактировать в интерфейсе контейнера моделирования.
Для выполнения примера предполагается наличие в репозитории контейнера моделирования с идентификатором «CONT_MODEL». В данном контейнере должна присутствовать система нелинейных уравнений с идентификатором «NON_LINEAR_MODEL», а также две модели (метод расчета: линейная регрессия (оценка МНК), нелинейная регрессия (оценка нелинейным МНК) или детерминированное уравнение) с идентификаторами «EXT_MODEL_1» и «EXT_MODEL_2».
Sub Main;
Var
mb: IMetabase;
ModelCont: IMetabaseObjectDescriptor;
Model: IMsModel;
Trans: IMsFormulaTransform;
Formula: IMsFormula;
Equations: IMsNonLinearEquationsTransform;
Descript: IMetabaseObjectDescriptor;
ExtModel: IMsModel;
ExternalEquations: IMsModelList;
Begin
mb := MetabaseClass.Active;
ModelCont := mb.ItemById("CONT_MODEL");
Descript := mb.ItemByIdNamespace("NON_LINEAR_MODEL", ModelCont.Key);
Model := Descript.Edit As IMsModel;
Trans := Model.Transform;
Formula := Trans.EquationsFormula;
Equations := Formula.Method As IMsNonLinearEquationsTransform;
ExternalEquations := Equations.ExternalEquations;
// Очистка коллекции уравнений системы
ExternalEquations.Clear;
// Добавление первого уравнения в систему
Descript := mb.ItemByIdNamespace("EXT_MODEL_1", ModelCont.Key);
ExtModel := Descript.Bind As IMsModel;
ExternalEquations.Add(ExtModel);
// Добавление второго уравнения в систему
Descript := mb.ItemByIdNamespace("EXT_MODEL_2", ModelCont.Key);
ExtModel := Descript.Bind As IMsModel;
ExternalEquations.Add(ExtModel);
// Сохранение изменений
(Model As IMetabaseObject).Save;
End Sub Main;
После выполнения примера система нелинейных уравнений будет содержать два внешних уравнения, представленные моделями «EXT_MODEL_1» и «EXT_MODEL_2».
См. также: