using hold on function in step response with subplot

39 visualizzazioni (ultimi 30 giorni)
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')

Risposta accettata

Walter Roberson
Walter Roberson il 25 Feb 2019
Code attached. Mostly it was moving the hold()

Più risposte (1)

GMD Baloch
GMD Baloch il 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
untitled.png
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 Commenti
GMD Baloch
GMD Baloch il 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
untitled.png
BALA GUGA GOPAL S
BALA GUGA GOPAL S il 26 Feb 2019
thank you this too got worked out.Thank you for your help.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by