In this talk, we describe an algorithm for approximating functions of the form $f(x) = \langle \sigma(\mu),x^\mu \rangle$ over the interval $[0,1]$, where $\sigma(\mu)$ is some distribution supported on $[a,b]$, with $0<a<b<\infty$. Given the desired accuracy and the values of $a$ and $b$, our method determines a priori a collection of non-integer powers, so that functions of this form are approximated by expansions in these powers, and a set of collocation points, such that the expansion coefficients can be found by collocating a given function at these points. Our method has a small uniform approximation error which is proportional to the desired accuracy multiplied by some small constants, and the number of singular powers and collocation points grows logarithmically with the desired accuracy.