Azzera filtri
Azzera filtri

Finding the point of inflection on a curve

8 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Teja Muppirala
Teja Muppirala il 4 Gen 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]);

Più risposte (1)

Osita Onyejekwe
Osita Onyejekwe il 31 Ott 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 ;

Categorie

Scopri di più su Descriptive Statistics in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by