Transfer Function Sensitivity & Complete Derivations

6 ビュー (過去 30 日間)
Richard
Richard 2023 年 11 月 5 日
回答済み: Sam Chak 2023 年 11 月 6 日
I have a transfer function block which looks like the following in SIMULINK:
Ignore the temporary error messages as 'a', 'k1', & 'k2' are not defined. When I find the CLTF of this system or T(s) I get this expression:
I am unsure how to derive these steps (if they are even correct!) in MATLAB.
My second problem is that I cannot determine the following sensitivity paramaters, definitely not in MATLAB and unsure about my own derivations:
=
&
(chain rule!)
I have = , however I did not expect the denominator powers and I remain unsure. For I simply could not figure this problem out myself.
I would appreciate any help on this subject matter, thank you!

回答 (1 件)

Sam Chak
Sam Chak 2023 年 11 月 6 日
I followed the formulas you provided and arrived at these solutions.
syms s a k1 k2
Gp = 1/(s^2 + a*s);
Gc = k1 + 1;
H = k2;
G = Gc*Gp;
% Closed-loop transfer function
Gcl = G/(1 + G*H);
T = simplify(Gcl)
T = 
% sensitivity of T to changes in Gp
STG = 1/(1 + (Gc*Gp)*H);
STG = simplify(STG, 'steps', 100)
STG = 
% sensitivity of Gp to changes in a
dGda = diff(Gp, a);
dGda = simplify(dGda, 'steps', 100);
SGa = dGda*a/G;
SGa = simplify(SGa, 'steps', 100)
SGa = 
% sensitivity of T to changes in a
STa = STG*SGa;
STa = simplify(STa, 'steps', 100)
STa = 

カテゴリ

Help Center および File ExchangeSimulink についてさらに検索

製品


リリース

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by