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

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

Дополнительные настройки логгирования сигнала в виде a 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