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.

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

свернуть все

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

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

| | |

Введенный в R2013b