Установите опции линеаризации
возвращает набор опций с дополнительными опциями, заданными одним или несколькими 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'
- Шаг расчета результата линеаризации-1
(по умолчанию) | 0
| положительная скалярная величинаШаг расчета результата линеаризации, заданный как разделенная разделенными запятой парами, состоящая из 'SampleTime'
и одно из следующих:
-1
- Установите время расчета на наименее распространенное произведение ненулевых шагов расчета в модели.
0
- Создайте модель непрерывного времени.
Положительная скалярная величина - задайте шаг расчета для систем дискретного времени.
'UseFullBlockNameLabels'
- Флаг, указывающий, усекать ли имена I/Os и состояний'off'
(по умолчанию) | 'on'
Флаг, указывающий, следует ли обрезать имена I/Os и состояния в линеаризированной модели, заданный как разделенная разделенными запятой парами, состоящая из 'UseFullBlockNameLabels'
и либо:
'off'
- Используйте усеченные имена для I/Os и состояний в линеаризированной модели.
'on'
- Используйте полный путь к блоку, чтобы назвать I/Os и состояния в линеаризированной модели.
'UseBusSignalLabels'
- Флаг, указывающий, использовать ли номера каналов сигналов шины или имена'off'
(по умолчанию) | 'on'
Флаг, указывающий, использовать ли номера каналов сигнала шины или имена для маркировки ввода-вывода в линеаризированной модели, заданный как разделенная разделенными запятой парами, состоящая из 'UseBusSignalLabels'
и одно из следующих:
'off'
- Используйте номера каналов сигналов шины для маркировки входов/выходов на сигналах шины в линеаризированной модели.
'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'
- Возвращает линеаризированную модель, которая включает все состояния модели.
Пути мертвой линеаризации могут включать:
Блоки, которые линеаризируются в нуль.
Переключайте блоки, которые не активны вдоль пути.
Отключенные подсистемы.
Сигналы, отмеченные как точки линеаризации без разомкнутого контура.
Для примера, если этот флаг установлен в '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'
- Предварительная частота0
(по умолчанию) | положительная скалярная величинаПредварительная частота в рад/с, заданная как разделенная разделенными запятой парами, состоящая из '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
пуст, []
алгоритм линеаризации выводит уровни возмущения состояния, используя 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
пуст, []
алгоритм линеаризации выводит входные уровни возмущения с помощью NumericalPertRel
.
options
- Опции линеаризацииlinearizeOptions
набор опцийОпции линеаризации, возвращенные как linearizeOptions
набор опций.
linearize
| linlft
| slLinearizer
| ulinearize
(Robust Control Toolbox)
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.