Finding the point of inflection on a curve
20 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Wern-Juin Choy
am 2 Jan. 2012
Beantwortet: Osita Onyejekwe
am 31 Okt. 2016
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 Kommentare
Akzeptierte Antwort
Teja Muppirala
am 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]);
0 Kommentare
Weitere Antworten (1)
Osita Onyejekwe
am 31 Okt. 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 ;
0 Kommentare
Siehe auch
Kategorien
Mehr zu Descriptive Statistics finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!