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))

 Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 8 Okt. 2020
Bearbeitet: Ameer Hamza am 8 Okt. 2020

1 Stimme

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 Kommentare

Muhannad AL-hazmi
Muhannad AL-hazmi am 8 Okt. 2020
why the max(y) and min with step?
Ameer Hamza
Ameer Hamza am 8 Okt. 2020
Both can be used with y. I have updated the answer.
Muhannad AL-hazmi
Muhannad AL-hazmi am 8 Okt. 2020
thank you
Ameer Hamza
Ameer Hamza am 8 Okt. 2020
I am glad to be of help!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by