Holding stepplot and pzplot in same loop

Hi,
I am unable to hold both stepplot and pzplot in this loop despite trying different answers in the forum.
Can someone help?
syms g s z w
w1 = 4
z1 = 0.5
getAllInfo(w1,z1)
w2 = 4
z2 = 0.3
getAllInfo(w2,z2)
w3 = 2
z3 = 0.5
getAllInfo(w3,z3)
w4 = 2
z4 = 0.3
getAllInfo(w4,z4)
function getAllInfo(w,z)
num = [w^2]
den = [1 2*z*w w^2]
G = tf(num, den)
stepplot(G);
ax1 = axes ;
hold(ax1,'on')
figure()
pzplot(G);
ax2 = axes ;
hold(ax2,'on')
end

 Accepted Answer

Hi,
One solution might be creating axes outside the function and pass them as parameters to the function.
Use hold on and plot on required axes.
For instance
f1 = figure;
ax1 = axes(f1) ;
f2 = figure;
ax2 = axes(f2) ;
hold(ax1,'on');
hold(ax2,'on');
syms g s z w
w1 = 4
z1 = 0.5
getAllInfo(w1,z1,ax1,ax2)
function getAllInfo(w,z,ax1,ax2)
num = [w^2]
den = [1 2*z*w w^2]
G = tf(num, den)
stepplot(ax1,G);
pzplot(ax2,G);
end
This will create all stepplots in one figure and pzplots in other one.
Hope this helps!

More Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Asked:

am
on 12 Feb 2021

Answered:

on 18 Feb 2021

Community Treasure Hunt

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

Start Hunting!