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® имеют предварительно запрограммированную точную линеаризацию.

  • Можно использовать линейные аналитические точки, чтобы задать фрагмент модели, чтобы линеаризовать.

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

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

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

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

Шаг расчета линеаризации заканчивается в виде разделенной запятой пары, состоящей из 'SampleTime' и одно из следующего:

  • -1 — Установите шаг расчета на наименьшее общее кратное ненулевых шагов расчета в модели.

  • 0 — Создайте модель непрерывного времени.

  • Положительная скалярная величина — Задает шаг расчета для систем дискретного времени.

Отметьте указание, обрезать ли имена I/Os и состояний в линеаризовавшей модели в виде разделенной запятой пары, состоящей из 'UseFullBlockNameLabels' и также:

  • 'off' — Используйте усеченные имена для I/Os и состояний в линеаризовавшей модели.

  • 'on' — Используйте полный блок path, чтобы назвать I/Os и состояния в линеаризовавшей модели.

Отметьте указание, использовать ли номера каналов сигнала шины или имена, чтобы маркировать I/Os в линеаризовавшей модели в виде разделенной запятой пары, состоящей из 'UseBusSignalLabels' и одно из следующего:

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

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

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

    • Соедините шиной блок создателя

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

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

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

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

  • true — Вычислите смещения линеаризации.

Можно сконфигурировать блок LPV System с помощью смещений линеаризации. Для примера смотрите, что Аппроксимирующее Нелинейное Поведение Использует Массив Систем LTI

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

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

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

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

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

  • 'on' — Возвратите линеаризовавшую модель, которая не включает состояния от неспособствующих путей к линеаризации.

  • 'off' — Возвратите линеаризовавшую модель, которая включает все состояния модели.

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

  • Блоки, которые линеаризуют, чтобы обнулить.

  • Блоки switch, которые не активны вдоль пути.

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

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

Например, если этот набор флага к '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'.

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

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

  • 'off' — Возвратите линейную модель с аппроксимированными задержками.

  • 'on' — Возвратите линейную модель с точными задержками.

Эта опция применяется только когда LinearizationAlgorithm 'blockbyblock'.

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

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

  • false — Перекомпилируйте модель для каждого узла решетки параметра. Используйте эту опцию, когда вы будете варьироваться значения ненастраиваемых параметров.

Для получения дополнительной информации о компиляции модели, когда вы линеаризуете с изменением параметра, смотрите Пакетный КПД Линеаризации, Когда Вы Варьируетесь Значения параметров.

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

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

NumericalPertRel+103×NumericalPertRel×|x|

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

NumericalPertRel+103×NumericalPertRel×|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 isempty, алгоритм линеаризации выводит уровни возмущения состояния с помощью 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 isempty, алгоритм линеаризации выводит входные уровни возмущения с помощью NumericalPertRel.

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

свернуть все

Опции линеаризации, возвращенные как a linearizeOptions опция установлена.

Смотрите также

| | | (Robust Control Toolbox)

Введенный в R2013b