Access coefficients of standardform PID controller
[Kp,Ti,Td,N]
= pidstddata(sys)
[Kp,Ti,Td,N,Ts]
= pidstddata(sys)
[Kp,Ti,Td,N,Ts]
= pidstddata(sys, J1,...,JN)
[
returns the proportional
gain Kp
,Ti
,Td
,N
]
= pidstddata(sys
)Kp
, integral time Ti
,
derivative time Td
, and filter divisor N
of
the standardform controller represented by the dynamic system sys
.
[
also returns the
sample time Kp
,Ti
,Td
,N
,Ts
]
= pidstddata(sys
)Ts
.
[
extracts
the data for a subset of entries in the array of Kp
,Ti
,Td
,N
,Ts
]
= pidstddata(sys
, J1,...,JN)sys
dynamic
systems. The indices J
specify the array entries
to extract.

SISO dynamic system or array of SISO dynamic systems. If 

Integer indices of N entries in the array 

Proportional gain of the standardform PID controller represented
by dynamic system If If If 

Integral time constant of the standardform PID controller represented
by dynamic system If If If 

Derivative time constant of the standardform PID controller
represented by dynamic system If If If 

Filter divisor of the standardform PID controller represented
by dynamic system If If If 

Sample time of the dynamic system 
Extract the proportional, integral, and derivative gains and
the filter time constant from a standardform pidstd
controller.
For the following pidstd
object:
sys = pidstd(1,4,0.3,10);
you can extract the parameter values from sys
by
entering:
[Kp Ti Td N] = pidstddata(sys);
Extract the standardform proportional and integral gains from an equivalent parallelform PI controller.
For a standardform PI controller, such as:
sys = pid(2,3);
you can extract the gains of an equivalent parallelform PI controller by entering:
[Kp Ti] = pidstddata(sys)
These commands return the result:
Kp = 2 Ti = 0.6667
Extract parameters from a dynamic system that represents a PID controller.
The dynamic system
$$H\left(z\right)=\frac{\left(z0.5\right)\left(z0.6\right)}{\left(z1\right)\left(z+0.8\right)}$$
represents a discretetime PID controller with a derivative
filter. Use pidstddata
to extract the standardform
PID parameters.
H = zpk([0.5 0.6],[1,0.8],1,0.1); % sample time Ts = 0.1s [Kp Ti Td N Ts] = pidstddata(H);
the pidstddata
function uses the default ForwardEuler
discrete
integrator formula for Iformula
and Dformula
to
compute the parameter values.
Extract the gains from an array of PI controllers.
sys = pidstd(rand(2,3),rand(2,3)); % 2by3 array of PI controllers [Kp Ti Td N] = pidstddata(sys);
The parameters Kp
, Ti
, Td
,
and N
are also 2by3 arrays.
Use the index input J
to extract the parameters
of a subset of sys
.
[Kp Ti Td N] = pidstddata(sys,5);