using hold on function in step response with subplot
Show older comments
I am trying to plot step reponse and impulse reponse of a sys in a single plot,using suplot and lengend, but i too have different values of z to be ploted (means i am using hold on fun). when i try to use subplot with the created code it's plotting for only one value of z, but i want such that all the three values of z has to plotted for both the step and impulse function in subplot, I apperciate your help.
s=tf('s');
z=[3 6 12];
hold on
for i=1:3
zc=z(i);
g=(15/zc)*((s+zc)/(s^2+3*s+15));
subplot(2,1,1)
step(g)
subplot(2,1,2)
impulse(g)
end
legend('z = 3','z = 6','z = 12')
Accepted Answer
More Answers (1)
GMD Baloch
on 24 Feb 2019
You just have to a little bit of modification in your code. I have done it and it is producing the following result

I hope that you wanted the above output. The modified code is given below
s=tf('s');
z=[3 6 12];
for i=1:3
zc=z(i);
g=(15/zc)*((s+zc)/(s^2+3*s+15));
subplot(2,2,i)
step(g)
hold on
impulse(g)
legend('z = 3','z = 6')
end
6 Comments
BALA GUGA GOPAL S
on 24 Feb 2019
GMD Baloch
on 24 Feb 2019
Do you want step response for z = 3,6 and 12 in one subplot and impulse response for z = 3,6 and 12 in another subplot?
BALA GUGA GOPAL S
on 25 Feb 2019
BALA GUGA GOPAL S
on 25 Feb 2019
GMD Baloch
on 26 Feb 2019
You can try the following code
s=tf('s');
z=[3 6 12];
subplot(2,1,1)
hold on
for i=1:3
zc=z(i);
g=(15/zc)*((s+zc)/(s^2+3*s+15));
step(g)
end
legend('z = 3','z = 6','z = 12')
subplot(2,1,2)
hold on
for i=1:3
zc=z(i);
g=(15/zc)*((s+zc)/(s^2+3*s+15));
impulse(g)
end
legend('z = 3','z = 6','z = 12')
The output for this code is shown below

BALA GUGA GOPAL S
on 26 Feb 2019
Categories
Find more on Spectral Measurements 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!
