[Math] sigmoid changing shape

functions

The sigmoid function is a function with range (0,1)

$$
y=\dfrac{1}{1+e^{k(x-i)}}
$$
where $k$ controls the steepness of the function and $i$ the value in $x$ where $y=.5$. Setting $k=5$ and $i=2.5$ for instance results in the following function:k=5,i=2.5

I would like to be able to change this function so that it has a different shape depending on x.

Basically I would like to evaluate different versions of this function depending on a user that moves along the x axis. So, if a user is at say $x=20$ I would like the parameters to be $i=10$ and $k=3.3$
The resulting function looks like this:

enter image description here

Evaluating this function for $x'=10$ results in $y=.5$

I want this function to change depending on $x$ so that $i=x/2$. Doing that however changes the function to

$$
y=\dfrac{1}{1+e^{k(x-i)}}\\
= \dfrac{1}{1+e^{k(x-x/2)}}\\
= \dfrac{1}{1+e^{k(x/2)}}
$$

which looks like…

enter image description here

evaluating $x'=10$ in this function is now basically 0. Very different from what is desired.

In principle I want to change the function according to where a user is, and then evaluate the position of other objects with respect to this function.

Where am I getting confused? How can I modify a function in this way?

Best Answer

You are using $x$ in two ways: One to represent the current position of the user, and another to represent the generic variable $x$ in the sigmoid function. I think you will achieve your desired goal if you use a different variable, say $t$, to represent the current user's position. Then the function you are looking for is $$ y=\dfrac{1}{1+e^{k(x-t/2)}} $$