function [dxdt] = Function(t,x,Aa,Ab,V0A,l1,F_LVDT,m_T,vs,delta,toll_v,c1,Fc1,Fs,c2,Fc2,time,Pa,PB)

global a

PB_mod=interp1(time,PB,t);
Fp=(x(1)-Pa)*Aa-(PB_mod-Pa)*Ab;
v=x(3);

if abs(v)-toll_v<=0  
cond=abs(Fp-F_LVDT)<Fs;
Ff(cond)=Fp-F_LVDT; 
cond=abs(Fp-F_LVDT)>=Fs;
Ff(cond)=Fs*sign(Fp-F_LVDT);

else
%2a) Velocità crescenti
cond=a>=0;
Ff(cond)=c1*v+(Fc1+(Fs-Fc1)*exp(-(abs(v)./vs).^delta)).*sign(v);
%2a) Velocità decrescenti
cond=a<0;  
Ff(cond)=c2*v+Fc2*sign(v);

end
F_att=(Ff);

dxdt(1,1) =-Aa*x(1)/(V0A+Aa*(l1+x(2)))*x(3); 
dxdt(2,1) =x(3);
dxdt(3,1) =1/m_T*(Fp-F_att-F_LVDT);

a=dxdt(3,1);

end