Создайте модель в пространстве состояний, преобразуйте в модель в пространстве состояний
sys = ss(A,B,C,D)
sys = ss(A,B,C,D,Ts)
sys = ss(D)
sys = ss(A,B,C,D,ltisys)
sys_ss = ss(sys)
sys_ss = ss(sys,'minimal')
sys_ss = ss(sys,'explicit')
sys_ss = ss(sys,
'measured')
sys_ss = ss(sys, 'noise')
sys_ss = ss(sys, 'augmented')
Используйте ss создать модели в пространстве состояний (ss объекты модели) с действительным - или матрицы с комплексным знаком или преобразовывать модели динамической системы в форму модели в пространстве состояний. Можно также использовать ss создать Обобщенное пространство состояний (genss) модели.
создает объект модели в пространстве состояний представление модели в пространстве состояний непрерывного времениsys = ss(A,B,C,D)
Для модели с Nx состояния, Ny выходные параметры и Nu входные параметры:
A Nx- Nx действительный - или матрица с комплексным знаком.
B Nx- Nu действительный - или матрица с комплексным знаком.
C Ny- Nx действительный - или матрица с комплексным знаком.
D Ny- Nu действительный - или матрица с комплексным знаком.
Установить D = 0 , установите D к скалярному 0 (нуль), независимо от размерности.
создает модель дискретного времениsys = ss(A,B,C,D,Ts)
с шагом расчета Ts (в секундах). Установите Ts = -1 или Ts = [] оставить шаг расчета незаданным.
задает статическую матрицу усиления sys = ss(D)D и эквивалентно
sys = ss([],[],[],D)
создает модель в пространстве состояний со свойствами, наследованными от модели sys = ss(A,B,C,D,ltisys) ltisys (включая шаг расчета).
Любой из предыдущих синтаксисов может сопровождаться именем свойства / пары значения свойства.
'PropertyName',PropertyValue
Каждая пара задает конкретное свойство модели, например, входных имен или некоторых примечаний по истории модели. См. Свойства для получения дополнительной информации о доступном ss свойства объекта модели.
Следующее выражение:
sys = ss(A,B,C,D,'Property1',Value1,...,'PropertyN',ValueN)
эквивалентно последовательности команд:
sys = ss(A,B,C,D) set(sys,'Property1',Value1,...,'PropertyN',ValueN)
sys_ss = ss(sys) преобразует модель sys динамической системы к форме пространства состояний. Выход sys_ss эквивалентная модель в пространстве состояний (ss объект модели). Эта операция известна как реализацию пространства состояний.
производит реализацию пространства состояний без неконтролируемых или неразличимых состояний. Эта реализация пространства состояний эквивалентна sys_ss = ss(sys,'minimal')sys_ss = minreal(ss(sys)).
вычисляет явную реализацию (sys_ss = ss(sys,'explicit')E = I) модели sys динамической системы. Если sys является неподходящим, ss возвращает ошибку.
Преобразования в пространство состояний исключительно не заданы в случае SISO. Они, как также гарантируют, не произведут минимальную реализацию в случае MIMO. Для получения дополнительной информации смотрите Рекомендуемое работающее Представление.
Идентифицированная модель представлена уравнением ввода - вывода формы , где u(t) является набором измеренных входных каналов, и e(t) представляет шумовые каналы. If Λ = LL' представляет ковариацию шумового e(t), это уравнение может также быть записано как , где .
sys_ss = ss(sys) или sys_ss = ss(sys,
'measured') преобразует измеренный компонент идентифицированной линейной модели в форму пространства состояний. sys модель типа idss, idproc, idtf, idpoly, или idgrey. sys_ss представляет отношение между u и y.
sys_ss = ss(sys, 'noise') преобразует шумовой компонент идентифицированной линейной модели в форму пространства состояний. Это представляет отношение между шумовым входом v(t) и выходом y_noise = HL v(t). Шумовые входные каналы принадлежат InputGroup 'Шум'. Именами шумовых входных каналов является v@yname, где yname является именем соответствующего выходного канала. sys_ss имеет столько же входных параметров сколько выходные параметры.
sys_ss = ss(sys, 'augmented') преобразует и измеренную и шумовую динамику в модель в пространстве состояний. sys_ss имеет входные параметры ny+nu, таким образом, что первые входные параметры nu представляют каналы u(t), в то время как остающиеся каналами представляют шумовые каналы v(t). sys_ss.InputGroup содержит 2 входных группы - 'measured' и 'noise'. sys_ss.InputGroup.Measured установлен в 1:nu в то время как sys_ss.InputGroup.Noise установлен в nu+1:nu+ny. sys_ss представляет уравнение
Идентифицированная нелинейная модель не может быть преобразована в форму пространства состояний. Используйте функции линейной аппроксимации, такие как linearize и linapp.
Можно использовать синтаксис:
gensys = ss(A,B,C,D)
создать Обобщенное пространство состояний (genss) модель, когда один или несколько матриц ABCD настраиваемый realp или genmat модель. Для получения дополнительной информации об Обобщенных моделях в пространстве состояний, см. Модели с Настраиваемыми Коэффициентами.
ss объекты имеют следующие свойства:
|
Матрицы пространства состояний.
|
|
Логическое значение, указывающее, включено ли масштабирование или отключено. Когда Значение по умолчанию: 0 (FALSE) |
|
Имена состояния, заданные как одно из следующего:
Значение по умолчанию: |
|
Модули состояния, заданные как одно из следующего:
Используйте Значение по умолчанию: |
|
Вектор, хранящий внутренние задержки. Внутренние задержки возникают, например, когда заключительная обратная связь в системах с задержками, или при соединении задержанных систем последовательно или параллели. Для получения дополнительной информации о внутренних задержках, смотрите закрывающуюся Обратную связь с Задержками. Для моделей непрерывного времени внутренние задержки выражаются в единице измерения времени, заданной Можно изменить значения внутренних задержек. Однако количество записей в |
|
Введите задержку каждого входного канала, заданного как скалярное значение или числовой вектор. Для систем непрерывного времени задайте входные задержки единицы измерения времени, сохраненной в Для системы с Можно также установить Значение по умолчанию: 0 |
|
Выведите задержки. Для системы с Значение по умолчанию: 0 для всех выходных каналов |
|
'SampleTime' . Для моделей непрерывного времени, Изменение этого свойства не дискретизирует или передискретизирует модель. Используйте Значение по умолчанию: |
|
Модули для переменной времени, шаг расчета
Изменение этого свойства не оказывает влияния на другие свойства, и поэтому изменяет полное поведение системы. Используйте Значение по умолчанию: |
|
Введите названия канала, заданные как одно из следующего:
В качестве альтернативы используйте автоматическое векторное расширение, чтобы присвоить входные имена для мультивходных моделей. Например, если sys.InputName = 'controls'; Входные имена автоматически расширяются до Можно использовать краткое обозначение Входные названия канала имеют несколько использования, включая:
Значение по умолчанию: |
|
Введите модули канала, заданные как одно из следующего:
Используйте Значение по умолчанию: |
|
Введите группы канала. sys.InputGroup.controls = [1 2]; sys.InputGroup.noise = [3 5]; создает входные группы под названием sys(:,'controls') Значение по умолчанию: Struct без полей |
|
Выведите названия канала, заданные как одно из следующего:
В качестве альтернативы используйте автоматическое векторное расширение, чтобы присвоить выходные имена для мультивыходных моделей. Например, если sys.OutputName = 'measurements'; Выходные имена автоматически расширяются до Можно использовать краткое обозначение Выходные названия канала имеют несколько использования, включая:
Значение по умолчанию: |
|
Выведите модули канала, заданные как одно из следующего:
Используйте Значение по умолчанию: |
|
Выведите группы канала. sys.OutputGroup.temperature = [1]; sys.InputGroup.measurement = [3 5]; создает выходные группы под названием sys('measurement',:)Значение по умолчанию: Struct без полей |
|
Имя системы, заданное как вектор символов. Например, Значение по умолчанию: |
|
Любой текст, который вы хотите сопоставить с системой, сохраненной как строка или массив ячеек из символьных векторов. Свойство хранит, какой бы ни тип данных вы обеспечиваете. Например, если sys1.Notes = "sys1 has a string."; sys2.Notes = 'sys2 has a character vector.'; sys1.Notes sys2.Notes
ans =
"sys1 has a string."
ans =
'sys2 has a character vector.'
Значение по умолчанию: |
|
Любой тип данных вы хотите сопоставить с системой, заданной как любой тип данных MATLAB®. Значение по умолчанию: |
|
Выборка сетки для массивов моделей, заданных как структура данных. Для массивов моделей, которые выведены путем выборки одной или нескольких независимых переменных, это дорожки свойства значения переменных, сопоставленные с каждой моделью в массиве. Эта информация появляется, когда вы отображаете или строите массив моделей. Используйте эту информацию, чтобы проследить результаты до независимых переменных. Установите имена полей структуры данных к именам переменных выборки. Установите значения полей к произведенным значениям переменных, сопоставленным с каждой моделью в массиве. Все переменные выборки должны быть числовыми и скаляр, оцененный, и все массивы произведенных значений должны совпадать с размерностями массива моделей. Например, предположите, что вы создаете 11 1 массив линейных моделей, sysarr.SamplingGrid = struct('time',0:10)Точно так же предположите, что вы создаете 6 9 массив моделей, [zeta,w] = ndgrid(<6 values of zeta>,<9 values of w>) M.SamplingGrid = struct('zeta',zeta,'w',w) Когда вы отображаете M M(:,:,1,1) [zeta=0.3, w=5] =
25
--------------
s^2 + 3 s + 25
M(:,:,2,1) [zeta=0.35, w=5] =
25
----------------
s^2 + 3.5 s + 25
...Для массивов моделей, сгенерированных путем линеаризации модели Simulink® в нескольких значениях параметров или рабочих точках, программное обеспечение заполняет Значение по умолчанию: |
Создайте модель в пространстве состояний с шагом расчета 0,25 секунд и следующих матриц пространства состояний:
Задайте матрицы пространства состояний.
A = [0 1;-5 -2]; B = [0;3]; C = [0 1]; D = 0;
Задайте шаг расчета.
Ts = 0.25;
Создайте модель в пространстве состояний.
sys = ss(A,B,C,D,Ts);
Создайте матрицы пространства состояний и задайте шаг расчета.
A = [0 1;-5 -2]; B = [0;3]; C = [0 1]; D = 0; Ts = 0.05;
Создайте модель в пространстве состояний, задав состояние и введите имена.
sys = ss(A,B,C,D,Ts,'StateName',{'Position' 'Velocity'},... 'InputName','Force');
Количество состояния и входных имен должно быть сопоставимо с размерностями ABC, и D.
Вычислите модель в пространстве состояний следующей передаточной функции:
Создайте модель передаточной функции.
H = [tf([1 1],[1 3 3 2]) ; tf([1 0 3],[1 1 1])];
Преобразуйте эту модель в модель в пространстве состояний.
sys = ss(H);
Исследуйте размер модели в пространстве состояний.
size(sys)
State-space model with 2 outputs, 1 inputs, and 5 states.
Количество состояний равно совокупному порядку записей SISO в H (s).
Чтобы получить минимальную реализацию H (s), войти
sys = ss(H,'minimal');
size(sys)State-space model with 2 outputs, 1 inputs, and 3 states.
Получившаяся модель имеет порядок три, который является минимальным количеством состояний, должен был представлять H (s). Чтобы видеть это количество состояний, осуществите рефакторинг H (s) как продукт системы первого порядка и системы второго порядка.
Создайте модель в пространстве состояний дескриптора (E ≠ I).
a = [2 -4; 4 2]; b = [-1; 0.5]; c = [-0.5, -2]; d = [-1]; e = [1 0; -3 0.5]; sysd = dss(a,b,c,d,e);
Вычислите явную реализацию системы (E = I).
syse = ss(sysd,'explicit')syse =
A =
x1 x2
x1 2 -4
x2 20 -20
B =
u1
x1 -1
x2 -5
C =
x1 x2
y1 -0.5 -2
D =
u1
y1 -1
Continuous-time state-space model.
Подтвердите, что дескриптор и явная реализация имеют эквивалентную динамику.
bodeplot(sysd,syse,'g--')
В этом примере показано, как создать пространство состояний genss модель, фиксирующая и и настраиваемые параметры.
где a и b являются настраиваемыми параметрами, начальными значениями которых является -1 и 3, соответственно.
Создайте использование настраиваемых параметров realp.
a = realp('a',-1); b = realp('b',3);
Задайте обобщенную матрицу с помощью алгебраических выражений a и b.
A = [1 a+b;0 a*b];
A обобщенная матрица чей Blocks свойство содержит a и b. Начальное значение A [1 2;0 -3], от начальных значений a и b.
Создайте матрицы пространства состояний фиксированного значения.
B = [-3.0;1.5]; C = [0.3 0]; D = 0;
Использование ss создать модель в пространстве состояний.
sys = ss(A,B,C,D)
sys =
Generalized continuous-time state-space model with 1 outputs, 1 inputs, 2 states, and the following blocks:
a: Scalar parameter, 2 occurrences.
b: Scalar parameter, 2 occurrences.
Type "ss(sys)" to see the current value, "get(sys)" to see all properties, and "sys.Blocks" to interact with the blocks.
sys обобщенная модель LTI (genss) с настраиваемыми параметрами a и b. Подтвердите что A свойство sys хранится как обобщенная матрица.
sys.A
ans =
Generalized matrix with 2 rows, 2 columns, and the following blocks:
a: Scalar parameter, 2 occurrences.
b: Scalar parameter, 2 occurrences.
Type "double(ans)" to see the current value, "get(ans)" to see all properties, and "ans.Blocks" to interact with the blocks.
Извлеките измеренные и шумовые компоненты идентифицированной полиномиальной модели в две отдельных модели в пространстве состояний. Первый (измеренный компонент) может служить моделью объекта управления, в то время как последний может служить возмущением для проекта системы управления.
load icEngine z = iddata(y,u,0.04); sys = ssest(z,3); sysMeas = ss(sys,'measured') sysNoise = ss(sys,'noise')
В качестве альтернативы используйте ss(sys) извлекать измеренный компонент.
Для TF к преобразованию модели SS, ss(sys_tf) возвращает модифицированную версию управляемой канонической формы. Это использует алгоритм, похожий на tf2ss, но дальнейшие перешкалы вектор состояния, чтобы сжать числовую область значений в матричном A состояния и улучшить численные данные в последующих расчетах.
Для ZPK к преобразованию SS, ss(sys_zpk) использование прямая форма II структур, как задано в текстах обработки сигналов. Смотрите Обработку сигналов Дискретного времени Оппенхеймом и Шафером для деталей.
Например, в следующем коде, A и sys.A отличайтесь диагональным преобразованием состояния:
n=[1 1];
d=[1 1 10];
[A,B,C,D]=tf2ss(n,d);
sys=ss(tf(n,d));
A
A =
-1 -10
1 0
sys.A
ans =
-1 -5
2 0
Для получения дополнительной информации смотрите balance.