[Numpy-discussion] Combining Sigmoid Curves
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