Sorry for the crude title: I'm looking for a formula to apply to each element of an "input set" of numbers that will output elements in another "output set" with the following characteristics:
- The low numbers and high numbers in the output set should stay relatively tight and close together to the low and high of the input set.
- The middle numbers in the output set should increase expoentially but level off.
- Doesn't have to be stochastic
For example, if we use the input set {1,2,...,10} we will get an output set of {1, 1.3, 1.8, 3, 6, 8, 8.6, 8.9, 9.1, 9.2}.
I was thinking of using a transformed cotangent formula, but am unsure of how to transform it in such a way that would apply to this scenario.

To solve for the polynomial coefficients, just set up the matrix system
\begin{equation}
\begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 & 0 \\
0 & 0 & 2 & 0 & 0 & 0 \\
1 & 1 & 1 & 1 & 1 & 1 \\
0 & 1 & 2 & 3 & 4 & 5 \\
0 & 0 & 2 & 6 & 12 & 20 \end{bmatrix} c =
\begin{bmatrix}
\text{min output} \\ 0 \\ 0 \\ \text{max output} \\ 0 \\ 0
\end{bmatrix}
\end{equation}
The coefficients $c_i$ form the polynomial $p(y) = c_0 + c_1 y + ... + c_5 y^5$. Then use the transformation $y = (x - 1)/(b - a)$, and your input integers are $x$ and your output values are $p(y(x))$.
What about something like:$$f(x)=x_0+\left(\frac{x_n-x_0}{\ln{\frac{x_n}{x_0}}}\right)\ln\left(\frac{x}{x_0}\right)$$for$$x=x_0,x_1,...,x_n$$
For the end points this gives:$$f(x_0)=x_0$$$$f(x_n)=x_n$$ For the example you gave of {1, 2, ..., 10}
this will generate {1, 3.71, 5.29, 6.42, 7.29, 8.00, 8.61, 9.13, 9.59, 10}
The function grows logarithmicly from 1 to 10.