i would fit the two portions of the curve separately since the parameters for both portions (c and d) are independent.
there is the excellent free toolbox EZYFIT than fits data to a formula, it is pretty easy to use (even i managed to use it - after failing miserably at writing my own code with fminsearch) and it can be found here: http://www.fast.u-psud.fr/ezyfit/ or here: http://www.mathworks.com/matlabcentral/fileexchange/10176-ezyfit-2-41
it actually uses fminsearch, not fmincon (don't ask me why..)