Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
vulcan::ScatteredTableND Class Reference

#include <TableInterpolator.hpp>

Public Member Functions

 ScatteredTableND (const janus::NumericMatrix &points, const janus::NumericVector &values, int grid_resolution=20, RBFKernel kernel=RBFKernel::ThinPlateSpline, double epsilon=1.0, janus::InterpolationMethod method=janus::InterpolationMethod::Linear)
 Construct N-D scattered interpolation table.
 ScatteredTableND (const janus::NumericMatrix &points, const janus::NumericVector &values, const std::vector< janus::NumericVector > &grid_points, RBFKernel kernel=RBFKernel::ThinPlateSpline, double epsilon=1.0, janus::InterpolationMethod method=janus::InterpolationMethod::Linear)
 Construct with explicit per-dimension grid specification.
template<janus::JanusScalar Scalar>
Scalar operator() (const janus::JanusVector< Scalar > &x) const
 Query table at a single N-D point.
double reconstruction_error () const
 Get RMS reconstruction error at original data points.
int dims () const
 Get number of input dimensions.
bool valid () const
 Check if table is valid (initialized).

Constructor & Destructor Documentation

◆ ScatteredTableND() [1/2]

vulcan::ScatteredTableND::ScatteredTableND ( const janus::NumericMatrix & points,
const janus::NumericVector & values,
int grid_resolution = 20,
RBFKernel kernel = RBFKernel::ThinPlateSpline,
double epsilon = 1.0,
janus::InterpolationMethod method = janus::InterpolationMethod::Linear )
inline

Construct N-D scattered interpolation table.

Parameters
pointsData locations, shape (n_points, n_dims)
valuesFunction values at each point (length n_points)
grid_resolutionPoints per dimension for resampling grid
kernelRBF kernel type (default: ThinPlateSpline)
epsilonShape parameter for Multiquadric/Gaussian kernels
methodGridded interpolation method for final queries
Exceptions
janus::InterpolationErrorif inputs are invalid
Examples
/home/runner/work/vulcan/vulcan/include/vulcan/core/TableInterpolator.hpp.

◆ ScatteredTableND() [2/2]

vulcan::ScatteredTableND::ScatteredTableND ( const janus::NumericMatrix & points,
const janus::NumericVector & values,
const std::vector< janus::NumericVector > & grid_points,
RBFKernel kernel = RBFKernel::ThinPlateSpline,
double epsilon = 1.0,
janus::InterpolationMethod method = janus::InterpolationMethod::Linear )
inline

Construct with explicit per-dimension grid specification.

Parameters
pointsData locations, shape (n_points, n_dims)
valuesFunction values at each point
grid_pointsExplicit grid coordinates per dimension
kernelRBF kernel type
epsilonShape parameter for Multiquadric/Gaussian kernels
methodGridded interpolation method for final queries

Member Function Documentation

◆ dims()

int vulcan::ScatteredTableND::dims ( ) const
inline

◆ operator()()

template<janus::JanusScalar Scalar>
Scalar vulcan::ScatteredTableND::operator() ( const janus::JanusVector< Scalar > & x) const
inline

Query table at a single N-D point.

Template Parameters
ScalarScalar type (double or janus::SymbolicScalar)
Parameters
xQuery point (size must match dims())
Returns
Interpolated value
Examples
/home/runner/work/vulcan/vulcan/include/vulcan/core/TableInterpolator.hpp.

◆ reconstruction_error()

double vulcan::ScatteredTableND::reconstruction_error ( ) const
inline

Get RMS reconstruction error at original data points.

Lower values indicate better fit quality.

Examples
/home/runner/work/vulcan/vulcan/include/vulcan/core/TableInterpolator.hpp.

◆ valid()

bool vulcan::ScatteredTableND::valid ( ) const
inline

Check if table is valid (initialized).

Examples
/home/runner/work/vulcan/vulcan/include/vulcan/core/TableInterpolator.hpp.

The documentation for this class was generated from the following file: