Finding the point of inflection on a curve

25 views (last 30 days)
Hi everyone, I have a question.
Is there any code that allows one to find the point of inflection on a step response curve of a transfer function? An example is given below.
Ts = 0.0005;
%Continuous system
Ps = tf(2,[1,12,20.02]);
Pz = c2d(Ps,Ts,'zoh');
%response
figure(1)
hold on
step(Pz)
hold off

Accepted Answer

Teja Muppirala
Teja Muppirala on 4 Jan 2012
You need to find where the 2nd derivative is zero. There are many different ways to approach this. This is one possible way:
Ts = 0.0005;
%Continuous system
Ps = tf(2,[1,12,20.02]);
Pz = c2d(Ps,Ts,'zoh');
%response
[y,t] = step(Pz);
plot(t,y);
hold on;
% Estimate the 2nd deriv. by finite differences
ypp = diff(y,2);
% Find the root using FZERO
t_infl = fzero(@(T) interp1(t(2:end-1),ypp,T,'linear','extrap'),0)
y_infl = interp1(t,y,t_infl,'linear')
plot(t_infl,y_infl,'ro');
Another way would be to find the roots of the step response of
tf([2 0 0],[1,12,20.02]);

More Answers (1)

Osita Onyejekwe
Osita Onyejekwe on 31 Oct 2016
how do i do it for this?
x = 1:500; X = x; J = 1; Fs = 499; N = J*Fs; t = 0: 1/Fs : J; Fn = 3; % this control the number of cycles/periods %deltax = 0.0020; deltax = 1;
y_sine_25HZ = sin(Fn*2*pi*t); y = y_sine_25HZ ;

Categories

Find more on Descriptive Statistics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!