[Numpy-discussion] Combining Sigmoid Curves

Rich Shepard rshepard@appl-ecosys....
Fri May 2 15:21:09 CDT 2008

On Fri, 2 May 2008, Angus McMorland wrote:

> How about multiplying two Boltzmann terms together, ala:
> f(x) = 1/(1+exp(-(x-flex1)/tau1)) * 1/(1+exp((x-flex2)/tau2))

> You'll find if your two flexion points get too close together, the peak
> will drop below the maximum for each individual curve, but the transition
> will be continuous.


   With an x range from 0.0-100.0 (and the flexion points at 25.0 and 75.0),
the above formula provides a nice bell-shaped curve from x=0.0 to x=50.0,
and a maximum y of only 0.25 rather than 2.0.

   Modifying the above so the second term is subtracted from 1 before the
multiplication, or by negating the exponent in the second term, yields only
the first half: the ascending 'S' curve from 0-50.



Richard B. Shepard, Ph.D.               |  Integrity            Credibility
Applied Ecosystem Services, Inc.        |            Innovation
<http://www.appl-ecosys.com>     Voice: 503-667-4517      Fax: 503-667-8863

More information about the Numpy-discussion mailing list