Radial Basis Functions in $\mathbb R^3$ - How to interpolate?

174 Views Asked by At

I am fairly new to radial basis functions. I get the concept, but I need a little explanation or coaching when it comes to the actual application.

Let's assume that I have $n$ points in $\mathbb R^3$ with their location $(x,y,z)$. Each point has a scalar value $f$ associated to it. What do I have to do to get the value of $f$ at a previously unknown point?

From my understanding $\mathbf{x}$ and $\mathbf{x}_i$ in

$y(\mathbf{x})=\sum\limits_{i=1}^Nw_i\phi(||\mathbf{x}-\mathbf{x}_i||)$

may be any n-dimensional array, so here my point locations in $\mathbb R^3$. How do I get from there to my interpolation for the value $f_K$ at a previously unknown point $(x_k,y_k,z_k)$? Unfortunately, I was unable to find an example I do understand in my initial search.

1

There are 1 best solutions below

3
On

You can do a channel coding of the position $(x_k,y_k,z_k)$:

$$p_i({\bf x_k}) = \frac{\phi(\|{\bf x_k-x_i}\|)}{\displaystyle\sum_{\forall j}{\phi(\|{\bf x_k-x_j}\|)}}$$

The reason why we choose name p is that because of this division above we normalize so that the value for each known position is a probability. You can verify that $\sum_ip_i({\bf x_k})$ shall become 1.

Now we have probability of belonging to each channel. We can simply make weighted average according to this probability:

$${\hat {f_k}} =\sum_{\forall \text{ "known" } i} p_i({\bf x_k})f_i$$