exponenta event banner

linearizeOptions

Задать параметры линеаризации

Описание

пример

options = linearizeOptions возвращает набор опций линеаризации по умолчанию.

options = linearizeOptions(Name,Value) возвращает набор опций с дополнительными опциями, указанными одним или несколькими Name,Value аргументы пары.

Примеры

свернуть все

Создайте набор опций линеаризации, который устанавливает метод преобразования скорости в метод Тастина с предварительной обработкой с частотой 10 рад/с. Кроме того, инструктировать линеаризацию не пропускать блоки вне пути линеаризации.

options = linearizeOptions('RateConversionMethod','prewarp',...
                           'PreWarpFreq',10,...
                           'BlockReduction','off');

Либо используйте точечную нотацию для установки значений options.

options = linearizeOptions;
options.RateConversionMethod = 'prewarp';
options.PreWarpFreq = 10;
options.BlockReduction = 'off';

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

свернуть все

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'RateConversionMethod','prewarp' устанавливает метод преобразования скорости в метод Тастина с предварительной обработкой.

Алгоритм, используемый для линеаризации, указанный как разделенная запятыми пара, состоящая из 'LinearizationAlgorithm' и одно из следующих:

  • 'blockbyblock' - индивидуально линеаризовать каждый блок в модели и объединять результаты для получения линеаризации указанной системы.

  • 'numericalpert' - полномодельная численно-возмущающая линеаризация, при которой входы и состояния корневого уровня возмущаются с использованием прямых разностей; то есть путем добавления возмущений к входному значению и значению состояния. Этот способ возмущения обычно быстрее, чем 'numericalpert2' способ.

  • 'numericalpert2' - полномодельная численно-возмущающая линеаризация, при которой входы и состояния корневого уровня численно возмущаются с использованием центральных различий; то есть путем возмущения входных значений и значений состояния как в положительном, так и в отрицательном направлениях. Этот способ возмущения обычно более точен, чем 'numericalpert' способ.

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

Поблочная линеаризация имеет несколько преимуществ по сравнению с числовым возмущением полной модели:

  • Многие блоки Simulink ® имеют предварительно запрограммированную точную линеаризацию.

  • Точки линейного анализа можно использовать для задания части модели для линеаризации.

  • Блоки можно настроить на использование пользовательских линеаризаций без влияния на моделирование модели.

  • Структурно неминеральные состояния удаляются автоматически.

  • Можно указать линеаризации, включающие неопределенность (требуется программное обеспечение Toolbox™ надежного управления).

  • Можно получить подробную диагностическую информацию о линеаризации.

Время выборки результата линеаризации, указанное как пара, разделенная запятыми, состоящая из 'SampleTime' и одно из следующих:

  • -1 - установите время выборки в наименьшее общее кратное ненулевому времени выборки в модели.

  • 0 - создание модели непрерывного времени.

  • Положительный скаляр - указывает время выборки для систем дискретного времени.

Флаг, указывающий, следует ли усекать имена входов/выходов и состояния в линеаризованной модели, указанной как разделенная запятыми пара, состоящая из 'UseFullBlockNameLabels' и либо:

  • 'off' - использование усеченных имен для ввода-вывода и состояний в линеаризованной модели.

  • 'on' - используйте полный путь к блоку, чтобы назвать операции ввода-вывода и состояния в линеаризованной модели.

Флаг, указывающий, следует ли использовать номера каналов сигнала шины или имена для маркировки ввода-вывода в линеаризованной модели, указанной как разделенная запятыми пара, состоящая из 'UseBusSignalLabels' и одно из следующих:

  • 'off' - Используйте номера каналов сигналов шины для маркировки ввода-вывода сигналов шины в линеаризованной модели.

  • 'on' - Используйте имена сигналов шины для маркировки ввода-вывода сигналов шины в линеаризованной модели. Имена сигналов шины появляются в результатах, когда точки ввода/вывода расположены на выходе следующих блоков:

    • Блок ввода корневого уровня, содержащий объект шины

    • Блок создания шины

    • Блок подсистемы, источник которой отслеживает выход блока создания шины

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

Флаг, указывающий, следует ли вычислять смещения линеаризации для входов, выходов, состояний и производных состояний или обновленных состояний, указанных как пара, разделенная запятыми, состоящая из 'StoreOffsets' и одно из следующих:

  • false - Не вычислять смещения линеаризации.

  • true - вычисление смещений линеаризации.

Блок системы LPV можно сконфигурировать с помощью смещений линеаризации. Пример см. в разделе Аппроксимация нелинейного поведения с использованием массива систем LTI

Флаг, указывающий, следует ли сохранять диагностическую информацию во время линеаризации, указанный как разделенная запятыми пара, состоящая из 'StoreAdvisor' и одно из следующих:

  • false - Не хранить диагностическую информацию линеаризации.

  • true - Хранить диагностическую информацию линеаризации.

Команды линеаризации сохраняют и возвращают диагностическую информацию в LinearizationAdvisor объект. Пример устранения неполадок в результатах линеаризации с использованием LinearizationAdvisor см. раздел Устранение неполадок в результатах линеаризации в командной строке.

Флаг, указывающий, следует ли пропускать блоки, не входящие в путь линеаризации, указанный как пара, разделенная запятыми, состоящая из 'BlockReduction' и одно из следующих:

  • 'on' - возвращает линеаризованную модель, которая не включает состояния из контуров линеаризации.

  • 'off' - возврат линеаризованной модели, включающей все состояния модели.

Мертвые пути линеаризации могут включать в себя:

  • Блоки, которые линеаризуются до нуля.

  • Блоки переключения, которые не активны вдоль траектории.

  • Отключенные подсистемы.

  • Сигналы, помеченные как точки линеаризации с разомкнутым контуром.

Например, если этот флаг имеет значение 'on'результат линеаризации модели, показанной на следующем рисунке, включает только два состояния. Он не включает состояния из двух блоков вне пути линеаризации. Эти состояния не появляются, поскольку эти блоки находятся на пути неактивной линеаризации с блоком, который линеаризуется до нуля (блок нулевого усиления).

Этот параметр применяется только в том случае, если LinearizationAlgorithm является 'blockbyblock'. BlockReduction всегда рассматривается как 'on' когда LinearizationAlgorithm является 'numericalpert' или 'numericalpert2'.

Флаг, указывающий, следует ли удалять дискретные временные состояния из линеаризации, указанной как пара, разделенная запятыми, состоящая из 'IgnoreDiscreteStates' и одно из следующих:

  • 'off' - Всегда включать дискретные временные состояния.

  • 'on' - Удалить дискретные состояния из линеаризации. Используйте эту опцию при выполнении линеаризации непрерывного времени (SampleTime = 0), чтобы принять D значение для всех блоков с дискретно-временными состояниями.

Этот параметр применяется только в том случае, если LinearizationAlgorithm является 'blockbyblock'.

Метод, используемый для преобразования скорости при линеаризации многоскоростной системы, определяемый как разделенная запятыми пара, состоящая из 'RateConversionMethod' и одно из следующих:

  • 'zoh' - Метод преобразования ставки удержания нулевого заказа

  • 'tustin' - Тустин (билинейный) метод

  • 'prewarp' - Метод Тустина с превалированием частоты. При использовании этого метода установите PreWarpFreq на требуемую частоту предвоенной операции.

  • 'upsampling_zoh' - пример дискретных состояний, когда это возможно, и использование 'zoh' в противном случае.

  • 'upsampling_tustin' - пример дискретных состояний, когда это возможно, и использование 'tustin' в противном случае.

  • 'upsampling_prewarp' - пример дискретных состояний, когда это возможно, и использование 'prewarp' в противном случае. При использовании этого метода установите PreWarpFreq на требуемую частоту предвоенной операции.

Дополнительные сведения о преобразовании скорости и линеаризации многоскоростных моделей см. в:

Примечание

Если используется метод пересчета курсов, отличный от 'zoh'преобразованные состояния больше не имеют того же физического значения, что и исходные состояния. В результате имена состояний в результирующей системе LTI изменяются на '?'.

Этот параметр применяется только в том случае, если LinearizationAlgorithm является 'blockbyblock'.

Предвоенная частота в рад/с, указанная как разделенная запятыми пара, состоящая из 'PreWarpFreq' и неотрицательный скаляр. Этот параметр применяется только в том случае, если RateConversionMethod является либо 'prewarp' или 'upsampling_prewarp'.

Флаг, указывающий, следует ли вычислять линеаризацию с точными задержками, заданными как разделенная запятыми пара, состоящая из 'UseExactDelayModel' и одно из следующих:

  • 'off' - возврат линейной модели с приблизительными задержками.

  • 'on' - возврат линейной модели с точными задержками.

Этот параметр применяется только в том случае, если LinearizationAlgorithm является 'blockbyblock'.

Флаг, указывающий, следует ли перекомпилировать модель при изменении значений параметров линеаризации, указанных как пара, разделенная запятыми, состоящая из 'AreParamsTunable' и одно из следующих:

  • true - Не перекомпилируйте модель, если все изменяющиеся параметры настраиваются. Если любые изменяющиеся параметры не поддаются настройке, перекомпилируйте модель для каждой точки сетки параметров и выдайте предупреждение.

  • false - перекомпилировать модель для каждой точки сетки параметра. Эта опция используется при изменении значений неперестраиваемых параметров.

Дополнительные сведения о компиляции модели при линеаризации с изменением параметров см. в разделе Эффективность линеаризации партий при изменении значений параметров.

Численный уровень возмущений, определяемый как разделенная запятыми пара, состоящая из 'NumericalPertRel' и положительный скаляр. Этот параметр применяется только в том случае, если LinearizationAlgorithm является 'numericalpert' или 'numericalpert2'.

Уровни возмущений для состояний системы:

Числовой ПертРел + 10 − 3 × Числовой ПертРель × | x |

Уровни возмущений для системных входов:

Числовой ПертРел + 10 − 3 × Числовой ПертРель × | u |

Эти значения можно переопределить с помощью NumericalXPert или NumericalUPert варианты.

Уровни возмущений состояния, определяемые как разделенная запятыми пара, состоящая из 'NumericalXPert' и объект операционной точки. Этот параметр применяется только в том случае, если LinearizationAlgorithm является 'numericalpert' или 'numericalpert2'.

Для установки отдельных уровней возмущений для каждого состояния:

  1. Создайте объект рабочей точки для модели с помощью operpoint команда.

    xPert = operpoint('watertank');
  2. Установите значения состояния в объекте рабочей точки на уровни возмущений.

    xPert.States(1).x = 2e-3;
    xPert.States(2).x = 3e-3;
  3. Установка значения NumericalXPert к объекту рабочей точки.

    opt = linearizeOptions('LinearizationAlgorithm','numericalpert');
    opt.NumericalXPert = xPert;

Если NumericalXPert пуст, []алгоритм линеаризации выводит уровни возмущений состояния, используя NumericalPertRel.

Входные уровни возмущений, определяемые как разделенная запятыми пара, состоящая из 'NumericalUPert' и объект операционной точки. Этот параметр применяется только в том случае, если LinearizationAlgorithm является 'numericalpert' или 'numericalpert2'.

Для установки отдельных уровней возмущений для каждого входа:

  1. Создайте объект рабочей точки для модели с помощью operpoint команда.

    uPert = operpoint('watertank');
  2. Установите входные значения в объекте рабочей точки на уровни возмущений.

    uPert.Inputs(1).x = 3e-3;
  3. Установка значения NumericalUPert к объекту рабочей точки.

    opt = linearizeOptions('LinearizationAlgorithm','numericalpert');
    opt.NumericalUPert = uPert;

Если NumericalUPert пуст, []алгоритм линеаризации выводит входные уровни возмущений, используя NumericalPertRel.

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

свернуть все

Опции линеаризации, возвращаемые как linearizeOptions набор опций.

См. также

| | | (инструментарий надежного управления)

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