function [xt,xt_p,xt_h] = SDOF_AA(t,m,k,xo,vo,Po,xi)
% Resolucion de la ecuacion para vibracion forzada: Armonica con amortiguamiento
%   Los datos requeridos son: [xt,xt_p,xt_h] = SDOF_AA(t,m,k,xo,vo,Po,xi)
%   [t] → intervalo de tiempo
%   m → masa del sistema
%   k → rigidez del sistema
%   wn → frecuencia natural del sistema
%   xo → desplazamiento inicial
%   vo → velocidad inicial
%   xi → ratio de amortiguamiento
%   Po → clase de la carga
%   Po.f → magnitud de la carga
%   Po.w → frecuencia de la carga

wn=(k/m)^0.5;
beta=Po.w/wn;
wd=wn*(1-xi^2)^0.5;

C=(Po.f/k)*(1-beta^2)/(((1-beta^2)^2+(2*xi*beta))^2);
D=(Po.f/k)*(2*xi*beta)/(((1-beta^2)^2+(2*xi*beta))^2);
A=xo-D;
B=(vo/wd)+(xi*wn*A/wd)-(Po.w*C/wd);

% Solucion homogenea

xt_p = (exp(-xi*wn*t)).*(A*cos(wd*t)+B*sin(wd*t));

% Solucion particular

xt_h = C*sin(Po.w*t)+D*cos(Po.w*t);

% Solucion total

xt=xt_p+xt_h;

end