addTolerance

Класс: fxpOptimizationOptions

Задайте числовой допуск для оптимизированной системы

Синтаксис

addTolerance(options,block_path,port_index,tolerance_type,tolerance_value)
addTolerance(options,block_path,port_index,tolerance_type,tolerance_value,loggingInfo)

Описание

addTolerance(options,block_path,port_index,tolerance_type,tolerance_value) задает числовой допуск для выходного сигнала, заданного как block_path и port_index, с типом допуска, заданным как tolerance_type и значение, заданное tolerance_value.

addTolerance(options,block_path,port_index,tolerance_type,tolerance_value,loggingInfo) задает допуск и опции для логгирования информации с Simulink.SimulationData.LoggingInfo.

Входные параметры

расширить все

fxpOptimizationOptions объект для добавления спецификации допуска.

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

Типы данных: char | string

Индекс выходного порта блока, заданный как block_path для которого необходимо задать допуск, заданный как скаляр целое число.

Типы данных: double

Тип допуска для добавления к порту, указанному как абсолютная погрешность, AbsTol, относительная погрешность, RelTol, или временной допуск, TimeTol.

Типы данных: char

Допустимый уровень допуска для сигнала, заданного block_path и port_index.

Если tolerance_type установлено в 'AbsTol', затем tolerance_value представляет абсолютное значение максимально допустимого различия между исходным выходом и выходом нового проекта.

Если tolerance_type установлено в 'RelTol', затем tolerance_value представляет собой максимальное относительное различие, заданную в процентах, между исходным выходом и выходом нового проекта. Для примера значение 1e-2 указывает максимальное различие в один процент между исходным выходом и выходом нового проекта.

Если tolerance_type установлено в 'TimeTol', затем tolerance_value определяет временной интервал в секундах, в котором максимальное и минимальное значения определяют верхнее и нижнее значения для сравнения. Для получения дополнительной информации смотрите Как Данные моделирования Inspector сравнивают Данные.

Типы данных: double

Опциональные настройки логгирования сигналов, заданные как Simulink.SimulationData.LoggingInfo объект. Используйте этот входной параметр, чтобы задать значение Десятикратного уменьшения, чтобы контролировать объем данных, регистрируемых Данными моделирования Inspector.

Пример: logInfo = Simulink.SimulationData.LoggingInfo(); logInfo.DecimateData = true; logInfo.Decimation = 10; addTolerance(options, 'model/blockPath', 2, 'AbsTol', 1, logInfo);

Примеры

расширить все

Загрузите систему, для которой необходимо оптимизировать типы данных.

load_system('ex_auto_gain_controller');

Создайте fxpOptimizationOptions объект со значениями свойств по умолчанию.

options = fxpOptimizationOptions;

Чтобы задать необходимый числовой допуск для использования в процессе оптимизации, используйте addTolerance метод fxpOptimizationOptions объект. Чтобы задать несколько ограничений допуска, вызывайте метод один раз на ограничение. Можно задать относительные или абсолютная погрешность ограничения.

addTolerance(options, 'ex_auto_gain_controller/output_signal', 1, 'AbsTol', 5e-2);
addTolerance(options, 'ex_auto_gain_controller/input_signal', 1, 'RelTol', 1e-2);

Используйте showTolerances метод для отображения всех ограничений допуска, добавленных к заданному fxpOptimizationOptions объект.

showTolerances(options)
                      Path                       Port_Index    Tolerance_Type    Tolerance_Value
    _________________________________________    __________    ______________    _______________

    {'ex_auto_gain_controller/output_signal'}        1           {'AbsTol'}           0.05      
    {'ex_auto_gain_controller/input_signal' }        1           {'RelTol'}           0.01      


ans =

  2x4 table

                      Path                       Port_Index    Tolerance_Type    Tolerance_Value
    _________________________________________    __________    ______________    _______________

    {'ex_auto_gain_controller/output_signal'}        1           {'AbsTol'}           0.05      
    {'ex_auto_gain_controller/input_signal' }        1           {'RelTol'}           0.01      

Введенный в R2018a