syslin
определение линейной системы
Синтаксис
sl = syslin(dom, A, B, C) sl = syslin(dom, A, B, C, D) sl = syslin(dom, A, B, C, D, x0) sl = syslin(dom, N, D) sl = syslin(dom, H)
Аргументы
- dom
символьная строка (
'c'
,'d'
) или[]
для скаляра.- A,B,C,D
матрицы в виде пространства состояний (
D
не обязательная матрица, по умолчанию - нулевая). Для сингулярных системD
является матрицей многочленов.- x0
вектор (исходное состояние; значение по умолчанию
0
)- N, D
матрицы многочленов
- H
матрица рациональных дробей или в виде линейного пространства состояний
- sl
типизированный список (tlist) ("
syslin
" список), представляющий линейную систему
Описание
syslin
определяет линейную систему в виде списка и проверяет правильность данных.
dom
определяет временную область системы и может иметь следующие значения:
dom='c'
для систем с непрерывным временем,
dom='d'
для систем с дискретным временем,
n
для дискретных систем с периодом дискретизации n
(в секундах).
dom=[]
, если временная область не определена.
Представление в виде пространства состояний:
sl = syslin(dom,A,B,C [,D [,x0] ])
представляет систему
s.X | = A.X + B.u |
y | = C.X + D.u |
x(0) | = x0 |
Выход syslin
является списком следующей формы:
sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom)
Заметим, что D
может быть матрицей многочленов (сингулярные системы).
Представление в виде передаточной матрицы:
sl=syslin(dom,N,D) sl=syslin(dom,H)
Выход syslin
является списком следующей формы: sl=rlist(,N,D,dom)
или
sl=rlist(H(2),H(3),dom)
.
Линейные системы, определённые как syslin
, могут управляться как обычные матрицы (конкатенация, извлечение, перестановка, умножение и т. д.) как в виде пространства состояний, так и в передаточном виде.
Большинство функций управления в пространстве состояний получают на входе список syslin
вместо четырёх матриц, определяющих систему.
Примеры
A=[0,1;0,0];B=[1;1];C=[1,1]; S1=syslin('c',A,B,C) //Определение линейной системы S1("A") //распечатка матрицы A S1("X0"), S1("dt") // распечатка X0 и временной области s=poly(0,'s'); D=s; S2=syslin('c',A,B,C,D) H1=(1+2*s)/s^2, S1bis=syslin('c',H1) H2=(1+2*s+s^3)/s^2, S2bis=syslin('c',H2) S1+S2 [S1,S2] ss2tf(S1)-S1bis S1bis+S2bis S1*S2bis size(S1)
Смотрите также
- tlist — объект Scilab'а и определение типизированного списка
- lsslist — функция определения линейного пространства состояний
- rlist — определение функции рационального деления Scilab
- ssrand — генератор случайной системы
- ss2tf — conversion from state-space to transfer function
- tf2ss — transfer to state-space
- dscr — discretization of linear system
- abcd — state-space matrices
Report an issue | ||
<< sysconv | Linear System Representation | syssize >> |