Mohammad Saad
Mohammad Saad

Reputation: 2005

Interpolation with radial basis function in julia

I have found few radial basis functions like BasisExpansionFunction, Surrogates.jl, ScatteredInterpolation in Julia. However, I am unable to replicate the results from python's scipy.interpolate.rbf() function.

Python Example

from scipy.interpolate import Rbf
import numpy as np

xs = np.arange(10)
ys = xs**2 + np.sin(xs) + 1

interp_func = Rbf(xs, ys) # By default RbF uses Multiquadratic function 

newarr = interp_func(np.arange(2.1, 3, 0.1))

print(newarr)

What is correct approach to replicate the above example in Julia?

Upvotes: 1

Views: 768

Answers (1)

Chris Rackauckas
Chris Rackauckas

Reputation: 19142

The first tutorial in Surrogates.jl shows how to make and interpolate a radial basis function.

using Surrogates
using LinearAlgebra
f = x -> x[1]*x[2]
lb = [1.0,2.0]
ub = [10.0,8.5]
x = sample(50,lb,ub,SobolSample())
y = f.(x)
my_radial_basis = RadialBasis(x,y,lb,ub)

#I want an approximation at (1.0,1.4)
approx = my_radial_basis((1.0,1.4))

Upvotes: 2

Related Questions