Установите опции линеаризации
возвращает набор опции с дополнительными опциями, заданными одним или несколькими 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'
Алгоритм, используемый для линеаризации в виде разделенной запятой пары, состоящей из 'LinearizationAlgorithm'
и одно из следующего:
'blockbyblock'
— Индивидуально линеаризуйте каждый блок в модели и объедините результаты произвести линеаризацию заданной системы.
'numericalpert'
— Линеаризация числового возмущения полная модели, в которой импорт корневого уровня и состояния встревожены с помощью правых разностей; то есть, путем добавления возмущений во вход и значения состояния. Этот метод возмущения обычно быстрее, чем 'numericalpert2'
метод.
'numericalpert2'
— Линеаризация числового возмущения полная модели, в которой импорт корневого уровня и состояния численно встревожены с помощью центральных различий; то есть, путем беспокойства входа и значений состояния и в положительных и в отрицательных направлениях. Этот метод возмущения обычно более точен, чем 'numericalpert'
метод.
Числовые методы линеаризации возмущения игнорируют линейный аналитический набор точек в модели и используют импорт корневого уровня и выходные порты вместо этого.
Линеаризация блока блоком имеет несколько преимуществ перед полной моделью числовое возмущение:
Многие Simulink® блоки имеют предварительно запрограммированную точную линеаризацию.
Можно использовать линейные аналитические точки, чтобы задать фрагмент модели, чтобы линеаризовать.
Можно сконфигурировать блоки, чтобы использовать пользовательскую линеаризацию, не влияя симуляцию модели.
Структурно неминимальные состояния автоматически удалены.
Можно задать линеаризацию, которая включает неопределенность (требует программного обеспечения Robust Control Toolbox™).
Можно получить подробную диагностическую информацию о линеаризации.
SampleTime
— Шаг расчета результата линеаризации
(значение по умолчанию) | 0
| положительная скалярная величинаШаг расчета линеаризации заканчивается в виде разделенной запятой пары, состоящей из 'SampleTime'
и одно из следующего:
-1 — Установите шаг расчета на наименьшее общее кратное ненулевых шагов расчета в модели.
0 — Создайте модель непрерывного времени.
Положительная скалярная величина — Задает шаг расчета для систем дискретного времени.
UseFullBlockNameLabels
— Отметьте указание, обрезать ли имена I/Os и состояний'off'
(значение по умолчанию) | 'on'
Отметьте указание, обрезать ли имена I/Os и состояний в линеаризовавшей модели в виде разделенной запятой пары, состоящей из 'UseFullBlockNameLabels'
и также:
'off'
— Используйте усеченные имена для I/Os и состояний в линеаризовавшей модели.
'on'
— Используйте полный блок path, чтобы назвать I/Os и состояния в линеаризовавшей модели.
UseBusSignalLabels
— Отметьте указание, использовать ли номера каналов сигнала шины или имена'off'
(значение по умолчанию) | 'on'
Отметьте указание, использовать ли номера каналов сигнала шины или имена, чтобы маркировать I/Os в линеаризовавшей модели в виде разделенной запятой пары, состоящей из 'UseBusSignalLabels'
и одно из следующего:
'off'
— Используйте номера каналов сигнала шины для метки I/Os на сигналах шины в линеаризовавшей модели.
'on'
— Используйте имена сигнала шины к метке I/Os на сигналах шины в линеаризовавшей модели. Имена шины сигнала появляются в результатах, когда точки ввода-вывода расположены при выходе следующих блоков:
Блок импорта корневого уровня, содержащий объект шины
Соедините шиной блок создателя
Блок Subsystem, источник которого прослеживает до выхода блока создателя шины
Блок Subsystem, источник которого прослеживает до импорта корневого уровня путем прохождения только через виртуальные или невиртуальные контуры подсистемы
StoreOffsets
— Отметьте указание, вычислить ли смещения линеаризацииfalse
(значение по умолчанию) | true
Отметьте указание, вычислить ли смещения линеаризации для входных параметров, выходные параметры, состояния, и производные состояния или обновленные состояния в виде разделенной запятой пары, состоящей из 'StoreOffsets'
и одно из следующего:
false
— Не вычисляйте смещения линеаризации.
true
— Вычислите смещения линеаризации.
Можно сконфигурировать блок LPV System с помощью смещений линеаризации. Для примера смотрите, что Аппроксимированное Нелинейное Поведение Использует Массив Систем LTI
StoreAdvisor
— Отметьте указание, хранить ли диагностическую информациюfalse
(значение по умолчанию) | true
Отметьте указание, хранить ли диагностическую информацию во время линеаризации в виде разделенной запятой пары, состоящей из 'StoreAdvisor'
и одно из следующего:
false
— Не храните информацию диагностики линеаризации.
true
— Храните информацию диагностики линеаризации.
Команды линеаризации хранят и возвращают диагностическую информацию в LinearizationAdvisor
объект. Для примера поиска и устранения неисправностей результатов линеаризации с помощью LinearizationAdvisor
возразите, смотрите Результаты Линеаризации Поиска и устранения неисправностей в Командной строке.
BlockReduction
— Отметьте указание, не использовать ли блоки, которые не находятся на пути к линеаризации'on'
(значение по умолчанию) | 'off'
Отметьте указание, не использовать ли блоки, которые не находятся в пути к линеаризации в виде разделенной запятой пары, состоящей из 'BlockReduction'
и одно из следующего:
'on'
— Возвратите линеаризовавшую модель, которая не включает состояния от неспособствующих путей к линеаризации.
'off'
— Возвратите линеаризовавшую модель, которая включает все состояния модели.
Мертвые пути к линеаризации могут включать:
Блоки, которые линеаризуют, чтобы обнулить.
Блоки switch, которые не активны вдоль пути.
Отключенные подсистемы.
Сигналы отмечены как точки линеаризации разомкнутого контура.
Например, если этот набор флага к 'on'
, результат линеаризации модели, показанной в следующем рисунке, включает только два состояния. Это не включает состояния от двух блоков вне пути к линеаризации. Эти состояния не появляются, потому что эти блоки находятся на мертвом пути к линеаризации с блоком, который линеаризует, чтобы обнулить (нулевой блок усиления).
Эта опция применяется только когда LinearizationAlgorithm
'blockbyblock'
. BlockReduction
всегда обрабатывается как 'on'
когда LinearizationAlgorithm
'numericalpert'
или 'numericalpert2'
.
IgnoreDiscreteStates
— Отметьте указание, удалить ли состояния дискретного времени'off'
(значение по умолчанию) | 'on'
Отметьте указание, удалить ли состояния дискретного времени из линеаризации в виде разделенной запятой пары, состоящей из 'IgnoreDiscreteStates'
и одно из следующего:
'off'
— Всегда включайте состояния дискретного времени.
'on'
— Удалите дискретные состояния из линеаризации. Используйте эту опцию при выполнении линеаризации непрерывного времени (SampleTime = 0
) принять D
значение для всех блоков с состояниями дискретного времени.
Эта опция применяется только когда LinearizationAlgorithm
'blockbyblock'
.
RateConversionMethod
— Метод преобразования уровня'zoh'
(значение по умолчанию) | 'tustin'
| 'prewarp'
| 'upsampling_zoh'
| 'upsampling_tustin'
| 'upsampling_prewarp'
Метод, используемый для преобразования уровня при линеаризации многоскоростной системы в виде разделенной запятой пары, состоящей из 'RateConversionMethod'
и одно из следующего:
'zoh'
— Нулевой порядок содержит метод преобразования уровня
'tustin'
— Тастин (билинейный) метод
'prewarp'
— Метод Тастина с предварительной деформацией частоты. Когда вы используете этот метод, устанавливаете PreWarpFreq
опция к желаемой частоте перед деформацией.
'upsampling_zoh'
— Сверхдискретизируйте дискретные состояния, если это возможно, и используйте 'zoh'
в противном случае.
'upsampling_tustin'
— Сверхдискретизируйте дискретные состояния, если это возможно, и используйте 'tustin'
в противном случае.
'upsampling_prewarp'
— Сверхдискретизируйте дискретные состояния, если это возможно, и используйте 'prewarp'
в противном случае. Когда вы используете этот метод, устанавливаете PreWarpFreq
опция к желаемой частоте перед деформацией.
Для получения дополнительной информации о преобразовании уровня и линеаризации многоскоростных моделей, см.:
Примечание
Если вы используете метод преобразования уровня кроме 'zoh'
, конвертированные состояния больше не имеют тот же физический смысл как исходные состояния. В результате имена состояния в получившейся системе LTI превращаются в '?'
.
Эта опция применяется только когда LinearizationAlgorithm
'blockbyblock'
.
PreWarpFreq
— Предварительно деформируйте частоту
(значение по умолчанию) | положительная скалярная величинаПредварительно деформируйте частоту в rad/s в виде разделенной запятой пары, состоящей из 'PreWarpFreq'
и неотрицательный скаляр. Эта опция применяется только когда RateConversionMethod
любой 'prewarp'
или 'upsampling_prewarp'
.
UseExactDelayModel
— Отметьте указание, вычислить ли линеаризацию с точными задержками'off'
(значение по умолчанию) | 'on'
Отметьте указание, вычислить ли линеаризацию с точными задержками в виде разделенной запятой пары, состоящей из 'UseExactDelayModel'
и одно из следующего:
'off'
— Возвратите линейную модель с аппроксимированными задержками.
'on'
— Возвратите линейную модель с точными задержками.
Эта опция применяется только когда LinearizationAlgorithm
'blockbyblock'
.
AreParamsTunable
— Отметьте указание, перекомпилировать ли модель при варьировании значений параметровtrue
(значение по умолчанию) | false
Отметьте указание, перекомпилировать ли модель при варьировании значений параметров для линеаризации в виде разделенной запятой пары, состоящей из 'AreParamsTunable'
и одно из следующего:
true
— Не перекомпилируйте модель, когда все различные параметры будут настраиваемыми. Если какие-либо различные параметры не являются настраиваемыми, перекомпилировали модель для каждого узла решетки параметра и выпускают предупреждающее сообщение.
false
— Перекомпилируйте модель для каждого узла решетки параметра. Используйте эту опцию, когда вы будете варьироваться значения ненастраиваемых параметров.
Для получения дополнительной информации о компиляции модели, когда вы линеаризуете с изменением параметра, смотрите Пакетный КПД Линеаризации, Когда Вы Варьируетесь Значения параметров.
NumericalPertRel
— Числовой уровень возмущения1e-5
(значение по умолчанию) | положительная скалярная величинаЧисловой уровень возмущения в виде разделенной запятой пары, состоящей из 'NumericalPertRel'
и положительная скалярная величина. Эта опция применяется только когда LinearizationAlgorithm
'numericalpert'
или 'numericalpert2'
.
Уровни возмущения для системных состояний:
Уровни возмущения для системных входных параметров:
Можно заменить эти значения с помощью NumericalXPert
или NumericalUPert
опции.
NumericalXPert
— Уровни возмущения состояния[]
(значение по умолчанию) | объект рабочей точкиУровни возмущения состояния в виде разделенной запятой пары, состоящей из 'NumericalXPert'
и объект рабочей точки. Эта опция применяется только когда LinearizationAlgorithm
'numericalpert'
или 'numericalpert2'
.
Установить отдельные уровни возмущения для каждого состояния:
Создайте объект рабочей точки для модели с помощью operpoint
команда.
xPert = operpoint('watertank');
Установите значения состояния в объекте рабочей точки к уровням возмущения.
xPert.States(1).x = 2e-3; xPert.States(2).x = 3e-3;
Установите значение NumericalXPert
опция к объекту рабочей точки.
opt = linearizeOptions('LinearizationAlgorithm','numericalpert'); opt.NumericalXPert = xPert;
Если NumericalXPert
isempty
, алгоритм линеаризации выводит уровни возмущения состояния с помощью NumericalPertRel
.
NumericalUPert
— Введите уровни возмущения[]
(значение по умолчанию) | объект рабочей точкиВведите уровни возмущения в виде разделенной запятой пары, состоящей из 'NumericalUPert'
и объект рабочей точки. Эта опция применяется только когда LinearizationAlgorithm
'numericalpert'
или 'numericalpert2'
.
Установить отдельные уровни возмущения для каждого входа:
Создайте объект рабочей точки для модели с помощью operpoint
команда.
uPert = operpoint('watertank');
Установите входные значения в объекте рабочей точки к уровням возмущения.
uPert.Inputs(1).x = 3e-3;
Установите значение NumericalUPert
опция к объекту рабочей точки.
opt = linearizeOptions('LinearizationAlgorithm','numericalpert'); opt.NumericalUPert = uPert;
Если NumericalUPert
isempty
, алгоритм линеаризации выводит входные уровни возмущения с помощью NumericalPertRel
.
options
— Опции линеаризацииlinearizeOptions
опция установленаОпции линеаризации, возвращенные как a linearizeOptions
опция установлена.
linearize
| slLinearizer
| ulinearize
(Robust Control Toolbox) | linlft
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.