Дополнительная функция чувствительности в заданной точке с помощью slLinearizer
или slTuner
интерфейс
возвращает дополнительную функцию чувствительности в заданной аналитической точке для модели, сопоставленной с linsys
= getCompSensitivity(s
,pt
)slLinearizer
или slTuner
интерфейсы
.
Программное обеспечение осуществляет все постоянные открытия, заданные для s
когда это вычисляет linsys
. Если вы сконфигурировали любой s.Parameters
, или s.OperatingPoints
, или оба, getCompSensitivity
выполняет несколько линеаризации и возвращает массив дополнительных функций чувствительности.
считает дополнительным, временным, открытия в точке заданный linsys
= getCompSensitivity(s
,pt
,temp_opening
)temp_opening
. Используйте открытие, например, чтобы вычислить дополнительную функцию чувствительности внутреннего цикла с открытым внешним контуром.
возвращает подмножество пакетных результатов линеаризации. linsys
= getCompSensitivity(___,mdl_index
)mdl_index
задает индекс линеаризации интереса, в дополнение к любому из входных параметров в предыдущих синтаксисах.
Используйте этот синтаксис для эффективной линеаризации, когда это необходимо, чтобы получить дополнительную функцию чувствительности только для подмножества пакетных результатов линеаризации.
Получите дополнительную функцию чувствительности, вычисленную на объекте выход, для ex_scd_simple_fdbk
модель.
Откройте ex_scd_simple_fdbk
модель.
mdl = 'ex_scd_simple_fdbk';
open_system(mdl);
В этой модели:
Создайте slLinearizer
интерфейс для модели.
sllin = slLinearizer(mdl);
Чтобы вычислить дополнительную функцию чувствительности на объекте выход, используйте y
предупредите как аналитическая точка. Добавьте эту точку в sllin
.
addPoint(sllin,'y');
Получите дополнительную функцию чувствительности в y
.
sys = getCompSensitivity(sllin,'y');
tf(sys)
ans = From input "y" to output "y": -3 ----- s + 8 Continuous-time transfer function.
Программное обеспечение добавляет линеаризацию выход в y
, сопровождаемый входом линеаризации, dy
.
sys
передаточная функция от dy
к y
, который равен.
Для scdcascade
модель, получите дополнительную функцию чувствительности для внутреннего цикла в y2
.
Откройте scdcascade
модель.
mdl = 'scdcascade';
open_system(mdl)
Создайте slLinearizer
интерфейс для модели.
sllin = slLinearizer(mdl);
Вычислить дополнительную передаточную функцию чувствительности для внутреннего цикла в y2
, используйте y2
предупредите как аналитическая точка. Чтобы устранить эффекты внешнего контура, повредите внешний контур в y1m
. Добавьте обе этих точки в sllin
.
addPoint(sllin,{'y2','y1m'});
Получите дополнительную функцию чувствительности для внутреннего цикла в y2
.
sys = getCompSensitivity(sllin,'y2','y1m');
Здесь, 'y1m'
, третий входной параметр, задает временное открытие для внешнего контура.
Предположим, что вы обрабатываете в пакетном режиме, линеаризуют scdcascade
модель для нескольких передаточных функций. Для большей части линеаризации вы варьируетесь пропорциональное (Kp2
) и интегральная составляющая (Ki2
) из C2
контроллер в 10%-й области значений. В данном примере вычислите дополнительную функцию чувствительности для внутреннего цикла для максимального значения Kp2
и Ki2
.
Откройте scdcascade
модель.
mdl = 'scdcascade';
open_system(mdl);
Создайте slLinearizer
интерфейс для модели.
sllin = slLinearizer(mdl);
Варьируйтесь пропорциональное (Kp2
) и интегральная составляющая (Ki2
) из C2
контроллер в 10%-й области значений.
Kp2_range = linspace(0.9*Kp2,1.1*Kp2,3); Ki2_range = linspace(0.9*Ki2,1.1*Ki2,5); [Kp2_grid,Ki2_grid]=ndgrid(Kp2_range,Ki2_range); params(1).Name = 'Kp2'; params(1).Value = Kp2_grid; params(2).Name = 'Ki2'; params(2).Value = Ki2_grid; sllin.Parameters = params;
Чтобы вычислить дополнительную чувствительность внутреннего цикла, используйте y2
предупредите как аналитическая точка. Чтобы устранить эффекты внешнего контура, повредите внешний контур в y1m
. Добавьте обе этих точки в sllin
.
addPoint(sllin,{'y2','y1m'})
Определите индекс для максимальных значений Ki2
и Kp2
.
mdl_index = params(1).Value == max(Kp2_range) & params(2).Value == max(Ki2_range);
Получите дополнительную передаточную функцию чувствительности в y2
.
sys = getCompSensitivity(sllin,'y2','y1m',mdl_index);
Открытая модель Simulink.
mdl = 'watertank';
open_system(mdl)
Создайте набор опции линеаризации и установите StoreOffsets
опция.
opt = linearizeOptions('StoreOffsets',true);
Создайте slLinearizer
интерфейс.
sllin = slLinearizer(mdl,opt);
Добавьте аналитическую точку в выходном порту бака.
addPoint(sllin,'watertank/Water-Tank System');
Вычислите дополнительную функцию чувствительности в y
, и получите соответствующие смещения линеаризации.
[sys,info] = getCompSensitivity(sllin,'watertank/Water-Tank System');
Просмотрите смещения.
info.Offsets
ans = struct with fields: x: [2x1 double] dx: [2x1 double] u: 1 y: 1 StateName: {2x1 cell} InputName: {'watertank/Water-Tank System'} OutputName: {'watertank/Water-Tank System'} Ts: 0
s
— Интерфейс к Simulink® модельslLinearizer
взаимодействуйте через интерфейс | slTuner
интерфейсИнтерфейс к модели Simulink в виде любого slLinearizer
взаимодействуйте через интерфейс или slTuner
интерфейс.
pt
— Аналитическая точка сигнализирует об имениАналитическая точка сигнализирует об имени в виде:
Вектор символов или строка — Аналитическая точка сигнализируют об имени.
Чтобы определить имя сигнала, сопоставленное с аналитической точкой, введите s
. Программное обеспечение отображает содержимое s
в MATLAB® командное окно, включая анализ указывают имена сигнала, имена блока и номера портов. Предположим, что аналитическая точка не имеет имени сигнала, но только имени блока и номера порта. Можно задать pt
как имя блока. Использовать точку не в списке анализа указывает для s
, сначала добавьте использование точки addPoint
.
Можно задать pt
как исключительно соответствующий фрагмент полного имени сигнала или имени блока. Предположим, что полным именем сигнала аналитической точки является 'LoadTorque'
. Можно задать pt
как 'Torque'
настолько же долго как 'Torque'
не фрагмент имени сигнала ни для какой другой аналитической точки s
.
Например, pt = 'y1m'
.
Массив ячеек из символьных векторов или массив строк — Задают несколько аналитических имен точки. Например, pt = {'y1m','y2m'}
.
Вычислить linsys
, программное обеспечение добавляет линеаризацию выход, сопровождаемый входом линеаризации в pt
.
Рассмотрите следующую модель:
Задайте pt
как 'y'
:
Программное обеспечение вычисляет linsys
как передаточная функция от dy
к y
.
Если вы задаете pt
как несколько сигналов, например, pt = {'u','y'}
, программное обеспечение добавляет линеаризацию выход, сопровождаемый входом линеаризации в каждой точке.
du
и dy
входные параметры линеаризации и u
и y
линеаризация выходные параметры. Программное обеспечение вычисляет linsys
когда передаточная функция MIMO с передаточной функцией от каждого входа линеаризации до каждой линеаризации выводится.
temp_opening
— Временное вводное имя сигналаВременное вводное имя сигнала в виде:
Вектор символов или строка — Аналитическая точка сигнализируют об имени.
temp_opening
должен задать аналитическую точку, которая находится в списке аналитических точек для s
. Чтобы определить имя сигнала, сопоставленное с аналитической точкой, введите s
. Программное обеспечение отображает содержимое s
в окне команды MATLAB, включая анализ указывают имена сигнала, имена блока и номера портов. Предположим, что аналитическая точка не имеет имени сигнала, но только имени блока и номера порта. Можно задать temp_opening
как имя блока. Использовать точку не в списке анализа указывает для s
, сначала добавьте использование точки addPoint
.
Можно задать temp_opening
как исключительно соответствующий фрагмент полного имени сигнала или имени блока. Предположим, что полным именем сигнала аналитической точки является 'LoadTorque'
. Можно задать temp_opening
как 'Torque'
настолько же долго как 'Torque'
не фрагмент имени сигнала ни для какой другой аналитической точки s
.
Например, temp_opening = 'y1m'
.
Массив ячеек из символьных векторов или массив строк — Задают несколько аналитических имен точки. Например, temp_opening = {'y1m','y2m'}
.
mdl_index
— Индексируйте для линеаризации интересаИндексируйте для линеаризации интереса в виде:
Массив логических значений — индекс Логического массива линеаризации интереса. Предположим, что вы варьируетесь два параметра, par1
и par2
, и хочу извлечь линеаризацию для комбинации par1 > 0.5
и par2 <= 5
Использование:
params = s.Parameters; mdl_index = params(1).Value>0.5 & params(2).Value <= 5;
Выражение params(1).Value>0.5 & params(2).Value<5
использует логическую индексацию и возвращает логический массив. Этот логический массив одного размера с params(1).Value
и params(2).Value
. Каждая запись содержит логическую оценку выражения для соответствующих записей в params(1).Value
и params(2).Value
.
Вектор из положительных целых чисел — Линейный индекс линеаризации интереса. Предположим, что вы варьируетесь два параметра, par1
и par2
, и хочу извлечь линеаризацию для комбинации par1 > 0.5
и par2 <= 5
Использование:
params = s.Parameters; mdl_index = find(params(1).Value>0.5 & params(2).Value <= 5);
Выражение params(1).Value>0.5 & params(2).Value<5
возвращает логический массив. find
возвращает линейный индекс каждой истинной записи в логическом массиве
linsys
— Дополнительная функция чувствительностиДополнительная функция чувствительности, возвращенная как описано в следующем:
Если вы не сконфигурировали s.Parameters
и s.OperatingPoints
, программное обеспечение вычисляет linsys
использование значений параметра модели по умолчанию. Программное обеспечение использует начальные условия модели в качестве рабочей точки линеаризации. linsys
возвращен как модель в пространстве состояний.
Если вы сконфигурировали s.Parameters
только, программное обеспечение вычисляет линеаризацию для каждого узла решетки параметра. linsys
возвращен как массив модели в пространстве состояний одного размера с сеткой параметра.
Если вы сконфигурировали s.OperatingPoints
только, программное обеспечение вычисляет линеаризацию для каждой заданной рабочей точки. linsys
возвращен как массив модели в пространстве состояний одного размера с s.OperatingPoints
.
Если вы сконфигурировали s.Parameters
и заданный s.OperatingPoints
как одна рабочая точка, программное обеспечение вычисляет линеаризацию для каждого узла решетки параметра. Программное обеспечение использует заданную рабочую точку в качестве рабочей точки линеаризации. linsys
возвращен как массив модели в пространстве состояний одного размера с сеткой параметра.
Если вы сконфигурировали s.Parameters
и заданный s.OperatingPoints
когда несколько рабочих точек возражают, программное обеспечение вычисляет линеаризацию для каждого узла решетки параметра. Программное обеспечение требует того s.OperatingPoints
одного размера с сеткой параметра, заданной s.Parameters
. Программное обеспечение вычисляет каждую линеаризацию с помощью соответствующих рабочих точек и узлов решетки параметра. linsys
возвращен как массив модели в пространстве состояний одного размера с сеткой параметра.
Если вы сконфигурировали s.Parameters
и заданный s.OperatingPoints
как несколько раз снимка состояния симуляции, программное обеспечение симулирует и линеаризует модель в течение каждого раза снимка состояния и комбинации узла решетки параметра. Предположим, что вы задаете сетку параметра размера p
и N
создайте снимки времена. linsys
возвращен как массив модели в пространстве состояний размера N
- p
.
Для большинства моделей, linsys
возвращен как ss
возразите или массив ss
объекты. Однако, если ваша модель содержит один из следующих блоков в пути к линеаризации, заданном pt
, затем linsys
возвращает заданный тип модели в пространстве состояний.
Блок | linsys Ввод |
---|---|
Блокируйтесь с заменой, заданной как a genss возразите или настраиваемый объект модели | genss |
Блокируйтесь с заменой, заданной как неопределенная модель, такой как uss | uss (Robust Control Toolbox) |
Блок Sparse Second Order | mechss |
Descriptor State-Space блок, сконфигурированный, чтобы линеаризовать к разреженной модели | sparss |
info
— Информация о линеаризацииИнформация о линеаризации, возвращенная как структура со следующими полями:
Offsets
— Смещения линеаризации[]
(значение по умолчанию) | структура | массив структурСмещения линеаризации, возвращенные как []
если s.Options.StoreOffsets
false
. В противном случае, Offsets
возвращен как одно из следующего:
Если linsys
одна модель в пространстве состояний, затем Offsets
структура.
Если linsys
массив моделей в пространстве состояний, затем Offsets
массив структур с теми же размерностями как linsys
.
Каждая структура смещения имеет следующие поля:
Поле | Описание |
---|---|
x | Смещения состояния использовали для линеаризации, возвращенной как вектор-столбец длины nx, где nx является количеством состояний в linsys . |
y | Выведите смещения, используемые для линеаризации, возвращенной как вектор-столбец длины ny, где ny является количеством выходных параметров в linsys . |
u | Введите смещения, используемые для линеаризации, возвращенной как вектор-столбец длины nu, где nu является количеством входных параметров в linsys . |
dx | Производные смещения для непрерывных систем времени или обновленные значения состояния для систем дискретного времени, возвращенных как вектор-столбец длины nx. |
StateName | Имена состояния, возвращенные как массив ячеек, который содержит элементы nx, которые совпадают с именами в linsys.StateName . |
InputName | Введите имена, возвращенные как массив ячеек, который содержит элементы nu, которые совпадают с именами в linsys.InputName . |
OutputName | Выведите имена, возвращенные как массив ячеек, который содержит элементы ny, которые совпадают с именами в linsys.OutputName . |
Ts | Шаг расчета линеаризованной системы, возвращенной как скаляр, который совпадает с шагом расчета в linsys.Ts . Для систем непрерывного времени, Ts 0 . |
Если Offsets
массив структур, можно сконфигурировать блок LPV System с помощью смещений. Для этого сначала преобразуйте их в использование требуемого формата getOffsetsForLPV
. Для примера смотрите, что Аппроксимированное Нелинейное Поведение Использует Массив Систем LTI.
Advisor
— Информация о диагностике линеаризации[]
(значение по умолчанию) | LinearizationAdvisor
возразите | массив LinearizationAdvisor
объектыИнформация о диагностике линеаризации, возвращенная как []
если s.Options.StoreAdvisor
false
. В противном случае, Advisor
возвращен как одно из следующего:
Если linsys
одна модель в пространстве состояний, Advisor
LinearizationAdvisor
объект.
Если linsys
массив моделей в пространстве состояний, Advisor
массив LinearizationAdvisor
объекты с теми же размерностями как linsys
.
LinearizationAdvisor
объекты хранят информацию диагностики линеаризации для линеаризовавших блоков индивидуума. Для примера поиска и устранения неисправностей результатов линеаризации с помощью LinearizationAdvisor
возразите, смотрите Результаты Линеаризации Поиска и устранения неисправностей в Командной строке.
complementary sensitivity function в точке является передаточной функцией от аддитивного воздействия в точке к измерению в той же точке. В отличие от функции чувствительности, воздействие добавляется после измерения.
Чтобы вычислить дополнительную чувствительность функционируют в аналитической точке, x
, программное обеспечение добавляет линеаризацию выход в x
, сопровождаемый входом линеаризации, dx
. Дополнительная функция чувствительности является передаточной функцией от dx
к x
.
Аналитическая точка в модели Simulink | Как getCompSensitivity Интерпретирует аналитическую точку | Дополнительная функция чувствительности |
---|---|---|
|
| Передаточная функция от |
Например, рассмотрите следующую модель, где вы вычисляете дополнительную функцию чувствительности в y
:
Здесь, программное обеспечение добавляет линеаризацию выход в y
, сопровождаемый входом линеаризации, dy
. Дополнительная чувствительность функционирует в y
, T, передаточная функция от dy
к y
. T вычисляется можно следующим образом:
Здесь I является единичной матрицей одного размера с G K. Дополнительная передаточная функция чувствительности в y
равно -1
времена передаточная функция с обратной связью от r
к y
.
Обычно дополнительная функция чувствительности, T, вычисленный из опорных сигналов, чтобы посадить выходные параметры, равна I –S. Здесь S является функцией чувствительности в точке, и I является единичной матрицей соразмерного размера. Однако, потому что getCompSensitivity
добавляет линеаризация выход и вход в той же точке, T, как возвращено getCompSensitivity
, равно S –I.
Программное обеспечение не изменяет модель Simulink, когда это вычисляет дополнительную функцию чувствительности.
Analysis points, используемый slLinearizer
и slTuner
интерфейсы, идентифицируйте местоположения в модели, которые важны для линейного анализа и настройки системы управления. Вы используете аналитические точки в качестве входных параметров к командам линеаризации, такой как getIOTransfer
, getLoopTransfer
, getSensitivity
, и getCompSensitivity
. Как входные параметры к командам линеаризации, аналитические точки могут задать любой разомкнутый контур или передаточную функцию с обратной связью в модели. Можно также использовать аналитические точки, чтобы задать конструктивные требования при настройке систем управления с помощью команд такой как systune
.
Location относится к определенному выходному порту блока в модели или к элементу шины в таком выходном порту. Для удобства можно использовать имя сигнала, который происходит из этого порта, чтобы относиться к аналитической точке.
Можно добавить, что анализ указывает на slLinearizer
или slTuner
интерфейсы
, когда вы создаете интерфейс. Например:
s = slLinearizer('scdcascade',{'u1','y1'});
В качестве альтернативы можно использовать addPoint
команда.
Просмотреть все аналитические точки s
, введите s
в командной строке, чтобы отобразить интерфейсное содержимое. Для каждой аналитической точки s
, отображение включает имя блока и номер порта и имя сигнала, который происходит в этой точке. Можно также программно получить список всего аналитического использования точек getPoints
.
Для получения дополнительной информации о том, как можно использовать аналитические точки, смотрите представляющего интерес Марка Сигнэлса для Анализа и проектирования Системы управления и представляющего интерес Марка Сигнэлса для Пакетной Линеаризации.
Permanent openings, используемый slLinearizer
и slTuner
интерфейсы, идентифицируйте местоположения в модели, где программное обеспечение повреждает поток сигналов. Программное обеспечение осуществляет эти открытия для линеаризации и настройку. Используйте постоянные открытия, чтобы изолировать определенный компонент модели. Предположим, что у вас есть крупномасштабная модель, получая динамику самолета, и вы хотите выполнить линейный анализ корпуса только. Можно использовать постоянные открытия, чтобы исключить все другие компоненты модели. Другой пример - когда вы расположили каскадом циклы в своей модели, и вы хотите анализировать определенный цикл.
Location относится к определенному выходному порту блока в модели. Для удобства можно использовать имя сигнала, который происходит из этого порта, чтобы относиться к открытию.
Можно добавить постоянные открытия в slLinearizer
или slTuner
интерфейсы
, когда вы создаете интерфейс или при помощи addOpening
команда. Чтобы удалить местоположение из списка постоянных открытий, используйте removeOpening
команда.
Просмотреть все открытия s
, введите s
в командной строке, чтобы отобразить интерфейсное содержимое. Для каждого постоянного открытия s
, отображение включает имя блока и номер порта и имя сигнала, который происходит в этом местоположении. Можно также программно получить список всего постоянного использования открытий цикла getOpenings
.
slLinearizer
| slTuner
| addPoint
| addOpening
| getIOTransfer
| getLoopTransfer
| getSensitivity
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.