| ||
| ||
| |
| FarField's
FastRBFTM
Toolbox is very useful for interpolating irregularly sampled
data in 2 and 3
dimensions. However, due to the presence of noise,
it is not always desirable to exactly interpolate at
the data points. Approximation is often prefered. FastRBF's spline smoothing fitter lets users
specify a smoothing parameter when fitting which strikes a
compromise between smoothness of the interpolant and fidelity to the data.
The following example illustrates 2D interpolation of a bivariate function - the well-known Matlab 'peaks' function (a). This function is a sum of scaled and translated Gaussian distributions. The height depicted in (a) is a function of X & Y. The function was randomly sampled over the domain depicted in (b). To simulate scattered data more typical of the real world, white noise has then been added to the sampled function values in (c). The magnitude of the noise component is 10% that of the maximum range of values in the 'peaks' function. Figures (e) and (g) illustrate exact and approximating RBF fits to the data, respectively. In (g) a smoothing parameter determines how closely the RBF fits the data. The basic function in both cases is the thin-plate basis. A compromise between interpolating the data exactly and achieving a smooth (low-energy) fit is achieved in (g). Figures (f) and (h) illustrate the differences between the fitted data and the original, noise-free, signal (a) - which is usually not known. Further information can be found on the following FarField web pages: | ||
![]() |
| |
| (a) The Matlab 'peaks' function. Z (height) is a function of two variables X & Y. | (b) A uniform random distribution of sample points is taken over the domain of the 'peaks' function depicted in (a). | |
![]() |
| |
| (c) The data points to which an RBF is fitted consist of the 'peaks' function (a) evaluated randomly at the points shown in (b), plus a white noise component. | (d) The noise component added to each sample point in (c). The uniformly distributed noise ranges from -1 to 1, 10% of the maximum range of values in (a). | |
![]() |
| |
| (e) Interpolating RBF - an exact fit to data points depicted in (c) | (f) Difference between the interpolating RBF (e) and the 'peaks' function, i.e. (e)-(a). Note that this result is equivalent to fitting an RBF to the noise data shown in (d). | |
![]() |
| |
| (g) Approximating RBF - The RBF does not pass through the data in (c), but approximates at the sample points. | (h) Difference between approximating RBF and the 'peaks' function, i.e. (g)-(a). Judicious choice of the parameter controlling the degree of approximation at sample points results in noise reduction. | |