Finding the point of inflection on a curve

Asked by Wern-Juin Choy on 2 Jan 2012
Latest activity Answered by Teja Muppirala on 4 Jan 2012

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    

0 Comments

Wern-Juin Choy

Products

No products are associated with this question.

1 Answer

Answer by Teja Muppirala on 4 Jan 2012
Accepted answer

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

0 Comments

Teja Muppirala

Contact us