Я новичок в MATLAB, и я искал то, что я пытаюсь сделать, но результаты не совсем подходят.
Я рисую графики вариаций передаточных функций, код, который я сделал, приведен ниже:
omega = 3;
K = omega * omega;
for zeta = 0.1:0.1:2
sys = tf(K,[1 2*zeta*omega omega]);
figure();
subplot(1,2,1);
step(sys);
title('Step response');
[num,den] = tfdata(sys, 'v');
disp(den);
r = roots(den);
subplot(1,2,2);
%hold (subplot(1,2,2), 'on');
plot(real(r), imag(r), 'o');
title('Pole Locations in Complex Plane');
end
Каждый раз, когда цикл запускается, он создает новую фигуру. Первый подграфик должен быть уникальным для каждой фигуры, а второй подграфик должен отображать накопление всех точек (корней знаменателя всех передаточных функций) от фигур перед ним. Я пытался использовать hold (subplot(1,2,2), 'on');
, чтобы сохранить второй сюжет, но это не сработало. Я думаю, что, поскольку подсюжеты представляют собой разные фигуры, hold on
нельзя использовать.
Как я могу решить эту проблему? Любая помощь будет отличной.