Finding the point of inflection on a curve
15 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Teja Muppirala
2012 年 1 月 4 日
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 件のコメント
その他の回答 (1 件)
Osita Onyejekwe
2016 年 10 月 31 日
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 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!