linearizeOptions

Установите опции линеаризации

Синтаксис

options = linearizeOptions
options = linearizeOptions(Name,Value)

Описание

пример

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

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

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

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

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

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

  • 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 Не перекомпилируйте модель, когда все переменные параметры будут настраиваемыми. Если какие-либо переменные параметры не являются настраиваемыми, перекомпилировали модель для каждого узла решетки параметра и выпускают предупреждающее сообщение.

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

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

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

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

NumericalPertRel+103×NumericalPertRel×|x|

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

NumericalPertRel+103×NumericalPertRel×|u|

Можно заменить эти значения с помощью опций NumericalUPert или NumericalXPert.

Уровни возмущения состояния, заданные как пара, разделенная запятой, состоящая из '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