Передаточная функция разомкнутого контура в заданной точке с помощью slLinearizer
или slTuner
интерфейс
возвращает передаточную функцию разомкнутого контура "точка-точка" в заданной аналитической точке для модели, сопоставленной с linsys
= getLoopTransfer(s
,pt
)slLinearizer
или slTuner
интерфейсы
.
Программное обеспечение осуществляет все постоянные открытия цикла, заданные для s
когда это вычисляет linsys
. Если вы сконфигурировали любой s.Parameters
, или s.OperatingPoints
, или оба, getLoopTransfer
выполняет несколько линеаризации и возвращает массив передаточных функций цикла.
указывает, что обратная связь расписывается за вычисление ответа разомкнутого контура. По умолчанию, linsys
= getLoopTransfer(s
,pt
,sign
)linsys
передаточная функция разомкнутого контура положительной обратной связи.
Установите sign
к -1
вычислить передаточную функцию разомкнутого контура отрицательной обратной связи для приложений, которые принимают определение отрицательной обратной связи linsys
. Многие классический проект и аналитические методы, такие как Найквист или методы проектирования корневого годографа, используют соглашение отрицательной обратной связи.
Чувствительность с обратной связью в pt
равно feedback(1,linsys,sign)
.
считает дополнительным, временным, открытия в точке заданный linsys
= getLoopTransfer(s
,pt
,temp_opening
)temp_opening
. Используйте открытие, например, чтобы вычислить передаточную функцию цикла внутреннего цикла, измеренного во входе объекта, с открытым внешним контуром.
задает временные открытия и знак обратной связи.linsys
= getLoopTransfer(s
,pt
,temp_opening
,sign
)
возвращает подмножество пакетных результатов линеаризации. linsys
= getLoopTransfer(___,mdl_index
)mdl_index
задает индекс линеаризации интереса, в дополнение к любому из входных параметров в предыдущих синтаксисах.
Используйте этот синтаксис для эффективной линеаризации, когда это необходимо, чтобы получить передаточную функцию цикла только для подмножества пакетных результатов линеаризации.
Получите передаточную функцию цикла, вычисленную в e
, для ex_scd_simple_fdbk
модель.
Откройте ex_scd_simple_fdbk
модель.
mdl = 'ex_scd_simple_fdbk';
open_system(mdl);
В этой модели:
Создайте slLinearizer
интерфейс для модели.
sllin = slLinearizer(mdl);
Получить передаточную функцию цикла в e
, добавьте эту точку в sllin
как аналитическая точка.
addPoint(sllin,'e');
Получите передаточную функцию цикла в e
.
sys = getLoopTransfer(sllin,'e');
tf(sys)
ans = From input "e" to output "e": -3 ----- s + 5 Continuous-time transfer function.
Программное обеспечение добавляет линеаризацию выход, повреждает цикл и добавляет вход линеаризации, de
, в e
.
sys
передаточная функция от de
к e
. Поскольку программное обеспечение принимает положительную обратную связь, оно возвращает sys
как.
Получите передаточную функцию цикла отрицательной обратной связи, вычисленную в e
, для ex_scd_simple_fdbk
модель.
Откройте ex_scd_simple_fdbk
модель.
mdl = 'ex_scd_simple_fdbk';
open_system(mdl);
В этой модели:
Создайте slLinearizer
интерфейс для модели.
sllin = slLinearizer(mdl);
Получить передаточную функцию цикла в e
, добавьте эту точку в sllin
как аналитическая точка.
addPoint(sllin,'e');
Получите передаточную функцию цикла в e
.
sys = getLoopTransfer(sllin,'e',-1);
tf(sys)
ans = From input "e" to output "e": 3 ----- s + 5 Continuous-time transfer function.
Программное обеспечение добавляет линеаризацию выход, повреждает цикл и добавляет вход линеаризации, de
, в e
.
sys
передаточная функция от de
к e
. Поскольку третий входной параметр указывает на отрицательную обратную связь, программное обеспечение возвращает sys
как.
Получите передаточную функцию цикла для внутреннего цикла, вычисленного в e2
, для scdcascade
модель.
Откройте scdcascade
модель.
mdl = 'scdcascade';
open_system(mdl);
Создайте slLinearizer
интерфейс для модели.
sllin = slLinearizer(mdl);
Чтобы вычислить передаточную функцию цикла для внутреннего цикла, используйте e2
предупредите как аналитическая точка. Чтобы устранить эффекты внешнего контура, повредите внешний контур в y1m
. Добавьте эти точки в sllin
.
addPoint(sllin,{'e2','y1m'});
Получите передаточную функцию цикла внутреннего цикла в e2
.
sys = getLoopTransfer(sllin,'e2','y1m');
Здесь, 'y1m'
, третий входной параметр, задает временное открытие цикла. Программное обеспечение принимает положительную обратную связь, когда это вычисляет sys
.
Предположим, что вы обрабатываете в пакетном режиме, линеаризуют scdcascade
модель для нескольких передаточных функций. Для большей части линеаризации вы варьируетесь пропорциональное (Kp2
) и интегральная составляющая (Ki2
) из C2
контроллер, в 10%-й области значений. В данном примере вычислите передаточную функцию цикла для внутреннего цикла в e2
для максимальных значений 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;
Чтобы вычислить передаточную функцию цикла для внутреннего цикла, используйте e2
предупредите как аналитическая точка. Чтобы устранить эффекты внешнего контура, повредите внешний контур в y1m
. Добавьте эти точки в sllin
.
addPoint(sllin,{'e2','y1m'});
Определите индекс для максимальных значений Ki2
и Kp2
.
mdl_index = params(1).Value == max(Kp2_range) & params(2).Value == max(Ki2_range);
Получите передаточную функцию цикла внутреннего цикла в e2
, с открытым внешним контуром.
sys = getLoopTransfer(sllin,'e2','y1m',-1,mdl_index);
Четвертый входной параметр задает отрицательную обратную связь для вычисления передачи цикла.
Открытая модель Simulink.
mdl = 'watertank';
open_system(mdl)
Создайте набор опции линеаризации и установите StoreOffsets
опция.
opt = linearizeOptions('StoreOffsets',true);
Создайте slLinearizer
интерфейс.
sllin = slLinearizer(mdl,opt);
Добавьте аналитическую точку в выходном порту бака.
addPoint(sllin,'watertank/Water-Tank System');
Вычислите передаточную функцию цикла в аналитической точке и получите соответствующие смещения линеаризации.
[sys,info] = getLoopTransfer(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
как 'u'
.
Программное обеспечение вычисляет linsys
как передаточная функция от du
к u
.
Если вы задаете pt
как несколько сигналов, например, pt = {'u','y'}
, программное обеспечение добавляет линеаризацию выход, пропуск цикла и вход линеаризации в каждой точке.
du
и dy
входные параметры линеаризации, и, u
и y
линеаризация выходные параметры. Программное обеспечение вычисляет linsys
когда передаточная функция MIMO с передаточной функцией от каждого входа линеаризации до каждой линеаризации выводится.
sign
— Знак обратной связи
(значение по умолчанию) | -1
Знак обратной связи в виде одного из следующих значений:
+1 (значение по умолчанию) —
getLoopTransfer
возвращает передаточную функцию разомкнутого контура положительной обратной связи.
-1 —
getLoopTransfer
возвращает передаточную функцию разомкнутого контура отрицательной обратной связи. Передаточной функцией отрицательной обратной связи является -1
времена передаточная функция положительной обратной связи.
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
.
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
возразите, смотрите Результаты Линеаризации Поиска и устранения неисправностей в Командной строке.
loop transfer function в точке является передаточной функцией разомкнутого контура "точка-точка" от аддитивного воздействия в точке к измерению в той же точке.
Вычислить передаточную функцию цикла в аналитической точке, x
, программное обеспечение добавляет линеаризацию выход, вставляет пропуск цикла и добавляет вход линеаризации, dx
. Программное обеспечение вычисляет передаточную функцию из dx
к x
, который равен передаточной функции цикла в x
.
Аналитическая точка в модели Simulink | Как getLoopTransfer Интерпретирует аналитическую точку | Передаточная функция цикла |
---|---|---|
|
| Передаточная функция от |
Например, рассмотрите следующую модель, где вы вычисляете передаточную функцию цикла в e
:
Здесь, в e
, программное обеспечение добавляет линеаризацию выход, вставляет пропуск цикла и добавляет вход линеаризации, de
. Передаточная функция цикла в e
, L, передаточная функция от de
к e
. L вычисляется можно следующим образом:
Чтобы вычислить-KG, используйте u
как аналитическая точка для getLoopTransfer
.
Программное обеспечение не изменяет модель 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
.
addOpening
| addPoint
| getCompSensitivity
| getIOTransfer
| getSensitivity
| slLinearizer
| slTuner
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.