How to plot multiple output responses of transfer functions in the same figure?
Show older comments
How can I plot this state space like the graph I attached by using tf() and step() command? Thank you!

1 Comment
Ali Deniz
on 29 Nov 2021
Accepted Answer
More Answers (2)
Anish Mitra
on 14 Nov 2025
Moved: Sam Chak
on 14 Nov 2025
If the use of yyaxis is not needed, then the stepplot command can be directly used to generate the step response. Beginning in R2024b, the chart object created has a set of properties that can be modified to customize the style.
numerator = 1;
denominator = [1,1,3,1];
sys = tf(numerator,denominator);
figure(1)
sp = stepplot(sys);
Responses can be added by using hold on or the addResponse function.
denominator2 = [1 1 4 1];
sys2 = tf(numerator,denominator2);
hold on;
stepplot(sys2);
legend('sys1', 'sys2')
or
% denominator2 = [1 1 4 1];
% sys2 = tf(numerator,denominator2);
figure(2)
sp = stepplot(sys);
addResponse(sp,sys2);
legend('sys1', 'sys2')
See list of all linear analysis plots.
Adem
on 7 Feb 2024
0 votes
clc; clear; close all;
numerator = 1;
denominator = [1,1,3,1];
sys = tf(numerator,denominator);
yyaxis left
plot(step(sys));
yyaxis right
plot(impulse(sys));
Categories
Find more on Linear Model Identification in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!