Yes, this function roughly fits the data, but is most certainly not the function used by the programmers. If I look at the data points given by DrThod in the linked article, what they used is an exponential growth function with a floor of 1% CP_drop/hour. I make the exact formula
CP_drop/hour = 1%+0.3%*exp(MaxCP/700) ,
with MaxCP the original CP of the undecayed defender. The limit, at which the 10% cap comes into effect, would in this case be 2381 CP.