Аппроксимированная модель объекта управления аддитивными ошибочными методами

Учитывая систему G в форме LTI, следующие команды уменьшают систему до любого желаемого порядка, который вы задаете. Личный выбор основан на своих сингулярных значениях Ганкеля.

rng(1234,'twister');
G = rss(30,4,3); % random 30-state model
% balanced truncation to models with sizes 12:16
[G1,info1] = balancmr(G,12:16); 
% Schur balanced truncation by specifying `MaxError'
[G2,info2] = schurmr(G,'MaxError',[1,0.8,0.5,0.2]);
sigma(G,'b-',G1,'r--',G2,'g-.')
legend('G','G1','G2')

График сравнивает исходную модель G с упрощенными моделями G1 и G2.

Чтобы определить, удовлетворена ли теоретическая связанная ошибка, вычислите пиковое различие через частоты между усилением исходной системы и уменьшаемой системой. Сравните это с ошибкой, связанной сохраненный в структуре info.

norm(G-G1(:,:,1),'inf') 
ans = 2.2867
info1.ErrorBound(1)
ans = 9.7120

Или, постройте образцовую ошибку по сравнению с ошибкой, связанной через следующие команды:

[sv,w] = sigma(G-G1(:,:,1));
loglog(w,sv,w,info1.ErrorBound(1)*ones(size(w)))
xlabel('rad/sec');ylabel('SV');
title('Error Bound and Model Error')

Смотрите также

Похожие темы