Этот пример показывает, почему вы всегда должны использовать FEEDBACK для закрытия циклов обратной связи.
Примите во внимание следующий цикл обратной связи

где
K = 2; G = tf([1 2],[1 .5 3])
G =
s + 2
---------------
s^2 + 0.5 s + 3
Continuous-time transfer function.
Можно вычислить передаточную функцию с обратной связью H от r до y по крайней мере двумя способами:
Использование feedback команда
Использование формулы
Для вычисления H использование feedback, type
H = feedback(G,K)
H =
s + 2
---------------
s^2 + 2.5 s + 7
Continuous-time transfer function.
Для вычисления H из формулы введите
H2 = G/(1+G*K)
H2 =
s^3 + 2.5 s^2 + 4 s + 6
-----------------------------------
s^4 + 3 s^3 + 11.25 s^2 + 11 s + 21
Continuous-time transfer function.
Основная проблема с вычислением H из формулы состоит, что он раздувает порядок передаточной функции с обратной связью. В приведенном выше примере H2 имеет двойной порядок H. Это потому, что выражение G/(1+G*K) оценивается как отношение двух передаточных функций G и 1+G*K. Если
затем G/(1+G*K) оценивается как:
В результате полюса G добавляются и к числителю, и к знаменателю H. Вы можете подтвердить это, посмотрев на представление ZPK:
zpk(H2)
ans =
(s+2) (s^2 + 0.5s + 3)
---------------------------------
(s^2 + 0.5s + 3) (s^2 + 2.5s + 7)
Continuous-time zero/pole/gain model.
Это избыток полюсов и нулей может негативно повлиять на точность ваших результатов при работе с передаточными функциями высокого порядка, как показано в следующем примере. Этот пример включает передаточную функцию 17-го порядка G. Как и ранее, используйте оба подхода для вычисления передаточной функции с обратной связью для K=1:
load numdemo G H1 = feedback(G,1); % good H2 = G/(1+G); % bad
Чтобы иметь точку ссылки, также вычислите модель FRD, содержащую частотную характеристику G, и примените feedback к данным частотной характеристики непосредственно:
w = logspace(2,5.1,100); H0 = feedback(frd(G,w),1);
Затем сравните величины откликов с обратной связью:
h = sigmaplot(H0,'b',H1,'g--',H2,'r'); legend('Reference H0','H1=feedback(G,1)','H2=G/(1+G)','location','southwest') setoptions(h,'YlimMode','manual','Ylim',{[-60 0]})

Частотная характеристика H2 неточно для частот ниже 2e4 рад/с. Эта неточность может быть прослежена до дополнительной (отменяющей) динамики, введенной около z = 1. В частности, H2 имеет примерно в два раза больше полюсов и нулей около z = 1, чем H1. В результате H2(z) имеет гораздо более низкую точность около z = 1, что искажает ответ на низких частотах. Для получения дополнительной информации см. пример Использование представления правой модели.