exponenta event banner

configset.reference.overrideParameter

Изменение значения параметра в ссылке на конфигурацию

    Описание

    пример

    configset.reference.overrideParameter(model,parameter) переопределяет параметр parameter в активной ссылке на конфигурацию, которая model использует. По умолчанию ссылка на конфигурацию использует значения параметров из набора конфигурации, на который она ссылается, и не включает правку. Переопределение параметра позволяет изменять привязку конфигурации так, чтобы можно было изменить значение параметра в привязке без изменения ссылочного набора конфигурации. Изменение значения в указанном наборе конфигурации не влияет на значение переопределенного параметра. Некоторые параметры нельзя переопределить.

    configset.reference.overrideParameter(model,parameter,value) переопределяет параметр и устанавливает значение в ссылке на конфигурацию, равное value.

    Примеры

    свернуть все

    Программно переопределить параметр в ссылке конфигурации и задать значение, отличное от указанного набора конфигурации.

    Открытие модели slexConfigSetRefExample, которая использует ссылку на конфигурацию в качестве активной конфигурации.

    model = 'slexConfigSetRefExample';
    open(model)

    Проверьте, нет ли в модели переопределенных параметров.

    configset.reference.hasOverriddenParameters(model)
    ans = logical
       0
    
    

    Модель не имеет переопределенных параметров. В этом примере переопределите параметр ModelReferenceNumInstancesAllowed. Этот параметр определяет количество ссылок на модель прямо или косвенно в другой модели. В указанном наборе конфигурации значение равно Multi. Для модели slexConfigSetRefExample, переопределить параметр и установить значение Single чтобы на нее можно было ссылаться только один раз в другой модели.

    configset.reference.overrideParameter(model,"ModelReferenceNumInstancesAllowed","Single");

    Убедитесь, что параметр ModelReferenceNumInstancesAllowed переопределяется и проверяет его значение для модели.

    configset.reference.isParameterOverridden(model,"ModelReferenceNumInstancesAllowed")
    ans = logical
       1
    
    
    get_param(model,"ModelReferenceNumInstancesAllowed")
    ans = 
    'Single'
    

    Восстановите значение параметра в указанном наборе конфигурации. Восстановление параметра делает его снова доступным только для чтения.

    configset.reference.restoreOverriddenParameter(model,"ModelReferenceNumInstancesAllowed");

    Если для модели переопределено несколько параметров, можно взаимодействовать со всеми из них одновременно. Например, переопределить параметры StartTime, StopTime, и SolverType. Затем используйте функцию configset.reference.getOverriddenParameters для просмотра списка переопределенных параметров.

    configset.reference.overrideParameter(model,"StartTime");
    configset.reference.overrideParameter(model,"StopTime");
    configset.reference.overrideParameter(model,"Solver");
    configset.reference.getOverriddenParameters(model)
    ans = 3x1 string
        "StartTime"
        "StopTime"
        "Solver"
    
    

    Теперь восстановите все переопределенные параметры модели. Параметры сбрасываются в значения из указанного набора конфигурации и снова становятся доступными только для чтения.

    configset.reference.restoreAllOverriddenParameters(model)

    Входные аргументы

    свернуть все

    Модель, использующая ссылку на конфигурацию, заданную как вектор символа или скаляр строки.

    Пример: 'vdp'

    Параметр для переопределения, заданный как вектор символа или скаляр строки.

    Пример: 'ModelReferenceNumInstancesAllowed'

    Значение, устанавливаемое для переопределенного параметра, заданного как вектор символа или скаляр строки.

    Пример: 'Multi'

    Представлен в R2021a