edgelaboratories / interpolator

Package interpolator provides univariate data interpolators.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Interpolator

GoDoc Build Status GolangCI Lint Go Report Card

Description

Package interpolator provides univariate data interpolators:

The input data is specified by means of a nonempty slice of two-dimensional points XYs. If a single data point is provided, the resulting interpolator treats the input as a constant for all abscissae.

Installation

go get -u github.com/edgelaboratories/interpolator

Example

package main

import (
	"fmt"
	"log"

	"github.com/edgelaboratories/interpolator"
)

func main() {
	xys := interpolator.XYs{
		{
			X: 0.0,
			Y: 1.2,
		},
		{
			X: 0.5,
			Y: 1.0,
		},
		{
			X: 1.0,
			Y: 1.4,
		},
	}
	interp, err := interpolator.NewGeometric(xys)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("value at 0.75 is %0.2f\n", interp.Value(0.75))
	fmt.Printf("gradient at 0.75 is %0.2f\n", interp.Gradient(0.75))
}

About

Package interpolator provides univariate data interpolators.

License:MIT License


Languages

Language:Go 99.2%Language:Makefile 0.8%