exponenta event banner

addTolerance

Класс: fxpOptions

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

Синтаксис

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 определяет временной интервал в секундах, в течение которого максимальное и минимальное значения определяют верхнее и нижнее значения для сравнения. Дополнительные сведения см. в разделе Как инспектор данных моделирования сравнивает данные.

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

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

Пример: 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