Consider the translated sigmoidal function

s is an increasing function with range (0,1).s(x) = 1/(1+exp(a(d-x))) with a>0 and x in [-inf,inf].

Now, consider the derived function

S is an increasing function too. (The "1/2 +" was not chosen by accident: see below.)S(x) = 1/2 + ( s(x)-s(m) ) / ( s(1)-s(0) ) with x in [0,1] and m in (0,1).

We would like so choose d so that S(0)=0, S(1)=1 and S(m)=1/2, that is, so that the range of S is [0,1] and the midpoint m is sent to 1/2. It turns out that these three conditions are satisfied if

which is equivalent tos(m) = (s(0)+s(1))/2

One consequence is that if this is the approach taken, a cannot be too close to zero, since D->-1 as a->0.d = (ln D) / a, where

D = ( (A+1)M-2A ) / ( A+1-2M ),

A = exp(a),

M = exp(a*m)

**P.S.**m can't be too close to zero either, since D->-1 as m->0 as well. Since things are symmetric, one expects trouble when m is close to 1, and indeed D->-A as m->1.

**P.S.**... and of course, m=1/2 gives d=1/2 irregardless of the value of a, so things check out.

(Checking my algebra/reasoning and figuring what what constraints one must impose to stay away from singularities.)