If you use fmincon for this (and use another parameter as the third fraction) the constraints are quite simple. You may need to play around with the fmincon options to get good convergence.
function solution = my_fit_fun(xdata, ydata, a0)
lb = [0 0 0 0 0 0];
ub = [inf inf inf 1 1 1];
%Aeq and beq specify that the last three parameters add to 1
Aeq = [0 0 0 1 1 1];
beq = 1;
solution = fmincon(@objective,a0,[],[],Aeq,beq,lb,ub);
function F = model(x)
fraction1 = x(4);
fraction2 = x(5);
fraction3 = x(6);
F=1-(fraction1.*(exp(-(xdata)./x(1)))+(fraction2.*(exp(-(xdata)./x(2))))+(fraction3.*(exp(-(xdata)./x(3)))));
end
function f = objective(x)
yfit = model(x);
f = sum((yfit - ydata) .^2);
end
end