Systems Transfer Functions (tf.m)

3 次查看(过去 30 天)
Andrew Kay
Andrew Kay 2019-1-8
回答: Robert U 2019-1-9
I have the question...
You are given a transfer function G(s)= 5.32K/(s(s^2 +0.41s+1.35)). This system is connected with unity negative feedback. Determine the smallest positive value of k which makes the closed loop system unstable.
I try to enter into matlab the variable k by using 'syms k' but it appears this won't work with transfer functions.
Any help on how to tackle this question using matlab.
(Answer should be 0.104)
Any help would be of much appreciation, thanks.

回答(1 个)

Robert U
Robert U 2019-1-9
Hi Andrew Kay,
here is an example to show you one possible workflow to tackle the described task:
% create transfer function with K=1
G = tf([5.32],[1 0.41 1.35 0]);
% visualize transfer function
figure;
bodeplot(G)
% get magnitude and phase of transfer function
[mag,phase,wout] = bode(G);
% find frequency where response would flip sign (stability criterion)
woi = wout(squeeze(phase) > -180);
woi = woi(end);
% get magnitude of transfer function at frequency of interest
mag = bode(G,woi);
% system with transfer function reduced by that magnitude would be asymptotic stable
G = 1/mag * G;
% visualize response
figure;
step(G/(1+G))
% 1/mag gives maximum K
Real systems prefer to have a stability margin of 3 (or more) dB in order to ensure stability.
Kind regards,
Robert

类别

Help CenterFile Exchange 中查找有关 Number Theory 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by