28 views (last 30 days)
hgrlk on 14 May 2021
Commented: hgrlk on 19 May 2021 at 16:30
Hello everyone,
I have a problem with plotting step function. I have a code about plotting a transfer function. I will add my code to show.
In my code, i want to change the default amplitude of transfer function. As I learned, Matlab has a default amplitude as 1. According to my research, there is a option about "Options for the step command". Here is the link: https://www.mathworks.com/help/control/ref/stepdataoptions.html#d123e129499
Here, I want to change my amplitude as 5. I think I might write opt = stepDataOptions('StepAmplitude',5);
But here there was a code which is [y,t] = step(sys,opt); and I dont get it what is the meaning of y and t. Why must we do smth like that?
And also I want to plot my transfer function after change the amplitude. And again, as my research, I think I must be write code as plot(t,y).
But why must we write (t,y) in the plot while we define [y,t]?
K_parameter = 1;
TL_parameter = 2;
TI_parameter = 3;
WN_parameter = 4;
t_parameter = 5;
zeta_parameter = 6;
F = K_parameter*tf([TL_parameter 1],[TI_parameter 1])*tf(1,[1/WN_parameter^2 2*zeta_parameter/WN_parameter 1]);
sys = F*exp(-t_parameter*tf('s'));
transfer_plot = stepplot(sys);
grid on
info = stepinfo(sys)
st = info.SettlingTime

Atsushi Ueno on 14 May 2021
>[y,t] = step(sys,opt); Why must we do smth like that?
You don't have to do that. You can choose both way, with [y, t], or without [y, t].
• if you choose with [y, t], step() gives you "Step Response Data", and it does not give you "Step Response Plots".
• if you choose without [y, t], step() gives you "Step Response Plots", and it does not give you "Step Response Data".
You might see this example, but [y,t] = step(sys,opt); can be replaced with step(sys,opt);. You will get plot instead of [t, y] data.
opt = stepDataOptions('InputOffset',-1,'StepAmplitude',2);
[y,t] = step(sys,opt);
>But why must we write (t,y) in the plot while we define [y,t]?
Plot() is process for plot only and does not care about step function. So it needs (t, y) for data plot. If you choose step() without [y, t], you don't need using plot().
hgrlk on 19 May 2021 at 16:30
Thank you!

R2020b

### Community Treasure Hunt

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

Start Hunting!