MATLAB: Plotting the correct position of maximum

controlplotplotting

Hello
can you correct my code to find the right position of the max in the plot as you can see in the figure it's shifted to the right
clear;clc;
num = [0.1 0.35 0];
den = [1 3 2];
sys = tf(num,den)
figure();
step(sys);
grid
title('Respond of sytem Subjected to initial Conditoin')
xlabel('t')
ylabel('Output x(t)')
hold on;
max1 = max(step(sys));
min1 = min(step(sys));
plot(max1,'o')
plot(min1,'o')
legend('y(x)', sprintf('Maximum y = %0.4f',max1),sprintf('Minumum y = %0.3f',min1))

Best Answer

You also need to specify the time value in plot(). Try this
num = [0.1 0.35 0];
den = [1 3 2];
sys = tf(num,den);
figure();
step(sys);
[y, t] = step(sys);
grid
title('Respond of sytem Subjected to initial Conditoin')
xlabel('t')
ylabel('Output x(t)')
hold on;
[max1, idx1] = max(y);
[min1, idx2] = min(y);
plot(t(idx1), max1,'o')
plot(t(idx2), min1,'o')
legend('y(x)', sprintf('Maximum y = %0.4f',max1),sprintf('Minumum y = %0.3f',min1))