Creating PTn transfer function by
조회 수: 3 (최근 30일)
이전 댓글 표시
Hi
I have results ofthe response of a system on different inputs.
I want to create a couple transfer functions of the from TF = k/(Ts+1)^n, with n=1 or 2 or 3. So 'k' and 'T' need to be determined.
Is it possible in matlab to generate a response of this transfer function with unknown 'k' and 'T'. Because I would like to determine them by minimising the the mean square error of the response of the transfer function and the real response of the system.
댓글 수: 0
채택된 답변
Star Strider
2020년 3월 26일
To fit them in the time domain:
syms k s T
TF1 = k/(T*s+1);
TF2 = k/(T*s+1)^2;
TF3 = k/(T*s+1)^3;
TF1t = ilaplace(TF1);
TF1fcn = matlabFunction(TF1t);
TF2t = ilaplace(TF2);
TF2fcn = matlabFunction(TF2t);
TF3t = ilaplace(TF3);
TF3fcn = matlabFunction(TF3t);
B0 = [T0; k0];
B = lsqcurvefit(@(b,t),TF1fcn(b(1),b(2),t), B0, xdata, ydata);
and similarly for the others, where ‘xdata’ and ‘ydata’ are the time and amplitude data.
The System Identification Toolbox, for all its strengths, is not intended for this sort of parameter estimation.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!