Региональное модальное разложение
[H,H0] = modsep(G,N,REGIONFCN)
MODSEP(G,N,REGIONFCN,PARAM1,...)
[H,H0] = modsep(G,N,REGIONFCN)
разлагает модель LTI G
в сумму n
более простые модели Hj
с их полюсами в непересекающихся областях Rj
комплексной плоскости:
G
может быть любая модель LTI, созданная с ss
, tf
, или zpk
, и N
- число регионов, используемых в разложении. modsep
упакует подмодели Hj
в массив LTI H
и возвращает статический коэффициент усиления H0
отдельно. Использование H(:,:,j)
для извлечения подмодели Hj(s)
.
Чтобы задать необходимые области, используйте функцию формы
IR = REGIONFCN(p)
который присваивает индекс области IR
от 1 до N
к заданному полюсу p
. Можно задать эту функцию по ее имени или как указатель на функцию и использовать синтаксис MODSEP(G,N,REGIONFCN,PARAM1,...)
для передачи дополнительных входных параметров:
IR = REGIONFCN(p,PARAM1,...)
Чтобы разложить G
в G(z) = H0 + H1(z) + H2(z)
где H1
и H2
иметь свои полюса внутри и снаружи единичного диска соответственно, использовать
[H,H0] = modsep(G,2,@udsep)
где функция udsep
определяется как
function r = udsep(p) if abs(p)<1, r = 1; % assign r=1 to poles inside unit disk else r = 2; % assign r=2 to poles outside unit disk end
Чтобы извлечь H1(z)
и H2(z)
из массива LTI H
, использование
H1 = H(:,:,1); H2 = H(:,:,2);