How to plot multiple output responses of transfer functions in the same figure?

 Accepted Answer

Try these codes below please;
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));

More Answers (2)

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.
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

Asked:

on 29 Nov 2021

Moved:

on 14 Nov 2025

Community Treasure Hunt

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

Start Hunting!