plotting the correct position of maximum
조회 수: 4 (최근 30일)
이전 댓글 표시
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))
댓글 수: 0
채택된 답변
Ameer Hamza
2020년 10월 8일
편집: Ameer Hamza
2020년 10월 8일
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))
댓글 수: 4
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!