function [dydt,U]=batteryModel(t,y)

global par tVec IVec
I=interp1(tVec,IVec,t);
if (length(t)>1)
    Uc=y(:,1);
    Ub=y(:,2);
else
    %disp(['t=' num2str(t)])
    Uc=y(1);
    Ub=y(2);
end
I_RC=Uc./par.R_C;
dUcdt= (I-I_RC)./par.C;
dUbdt= I./par.Cbatt;
U=Ub+par.R_i*I+Uc;
dydt=[dUcdt;dUbdt];