Remove["Global`*"]

data={#,#^2}&/@Range[0,2,0.001];

ListPlot[data]

model[t_]:=a*t^2+b*t+c

objective=Total[(data[[;;,2]]-model/@data[[;;,1]])^2];

objective//FullSimplify

FindMinimum[objective,{{a,1},{b,0},{c,0}}]

Fit[data,{1,x,x^2},x]

data2={#,#^2+#^3+RandomReal[{-0.1,0.1}]}&/@Range[-2,2,0.001];

ListPlot[data]

model2[t_]:=a*t^3+b*t^2+c*t+d

obj2=Total[(data2[[;;,2]]-model2/@data[[;;,1]])^2];

res=FindMinimum[obj2,{{a,1},{b,1},{c,0.1},{d,0.}}]

model2[x]/.res[[2]]

resfit=Fit[data2,{1,x,x^2,x^3},x]

pltfit2=Plot[resfit,{x,-2,2},PlotStyle->Thick];Show[ListPlot[data2,PlotStyle->Red],pltfit2]

datacap=Import["data.csv"];

logdata=datacap/.{t_,u_}:>{t,Log[u]};
logfit=Fit[logdata,{1,t},t]
proklad=Exp[logfit]
U0=proklad/.t->0;
Show[Plot[proklad,{t,0,(10^(-5))},PlotStyle->Blue,PlotRange->All],ListPlot[datacap,PlotStyle->Red]]

modelcap[t_]:=u0*Exp[-t/tau]

err=Total[(datacap[[;;,2]]-modelcap/@datacap[[;;,1]])^2];

rescap=NMinimize[err,{u0,tau}]

rescap=NMinimize[err,{u0,tau},Method->"DifferentialEvolution"]

Show[Plot[modelcap[x]/.rescap[[2]],{x,0,10^-5},PlotRange->All],ListPlot[datacap,PlotStyle->Red]]