Symbols in a transfer function:
15 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Im trying to get a step response for a transfer function but having trouble implementing it in matlab.
H(s)=K/(t*s+1)
Code:
sym k
sym t
sys = tf(k,[t 1])
step(sys)
0 commentaires
Réponse acceptée
Star Strider
le 11 Fév 2023
Modifié(e) : Star Strider
le 11 Fév 2023
The Control System Toolbox functions require numerical values.
It is possible to create an anonymous function with your code, and you can then use numerical values for ‘k’ and ‘t’ with it —
sys = @(k,t) tf(k,[t 1]);
k = 0.5;
t = 2;
figure
step(sys(k,t))
grid
The Symbolic Math Toolbox can be used to derive transfer functions. The sym2poly and double functions are helpful in that situation.
EDIT — Corrected typographical error.
.
.
2 commentaires
Plus de réponses (1)
Walter Roberson
le 11 Fév 2023
tf() is part of the Control System Toolbox, which is not designed at all to be able to use symbolic expressions.
The Control System Toolbox has no capacity to draw a family of plots -- the plots for all of the different shapes that can be generated by using different K and t values. K might be negative. K might be 0. t might be negative. K or t might be complex.
You can work symbolically, such as
syms k t s
sys = k/(t*s + 1)
isys = ilaplace(sys, s)
but the symbolic toolbox has no way to draw families of plots either.
3 commentaires
Walter Roberson
le 11 Fév 2023
The Control System Toolbox has very limited capacity to work with systems with parameters in them. There is some capacity; see https://www.mathworks.com/matlabcentral/answers/305339-how-to-create-a-transfer-function-with-gain-k#answer_236890 . In each case, at any time the parameter is considered to have a specific value; the facilities that exist are there to make it easier to change the value of the parameter, potentially using automatic tuning.
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
