%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Este ejemplo muestra la discretizaci??n de un sistema continuo de segundo
% orden representado por medio de su funci??n de transferencia G(s) y su
% equivalente en tiempo discreto dado por la funci??n de transferencia G(z).
% La simulaci??n muestra que, exactamente en los instantes de muestreo
% t_k=hk, las salidas de los sistemas continuo y discreto coinciden.
% Asimismo, se muestra que el equivalente discreto no se calcula
% directamente a partir de G(s) sino de G(s) multiplicada por la funci??n de
% transferencia de un retenedor de orden cero, G_roc(s).
%

clear
clc

global K a h numc denc numd dend A w

K = 1;
a = 2;

numc = [K];
denc = [1,a,0];

Gdes = tf(numc,denc)

h   = 1;

% Funcion de transferencia discreta obtenida de acuerdo con el texto del ejemplo

numd = (K/(a^2))*[(a*h-1+exp(-a*h)),(1-exp(-a*h)-a*h*exp(-a*h))];
dend = conv([1,-1],[1,-exp(-a*h)]);

Gz = tf(numd,dend,h)

% Funcion de transferencia discreta obtenida usando Matlab. Ambos
% resultados coinciden


Gdez = c2d(Gdes,h,'zoh')


A = 1;

w = 2*pi/5;


