TSLab API Docs  1
Класс TSLab.Script.Options.BaseCubicSplineabstract

Интерполирование функций кубическими сплайнами https://ru.wikipedia.org/wiki/Кубический_сплайн Подробнее...

Граф наследования:TSLab.Script.Options.BaseCubicSpline:
TSLab.Script.Options.IFunction TSLab.Script.Options.NaturalCubicSpline TSLab.Script.Options.NotAKnotCubicSpline

Открытые члены

 BaseCubicSpline (XElement xel)
 
double Value (double k)
 Вычислить значение функции в указанной точке. Выбрасывает ArgumentOutOfRangeException при обращении за пределами области определения. Подробнее...
 
bool TryGetValue (double x, out double dIvDk)
 Вычисление значения интерполированной функции в произвольной точке Подробнее...
 
XElement ToXElement ()
 Сериализация кубического сплайна в виде XElement Подробнее...
 
void ValidateCoeffs (double[] xs, double[] ys, double delta=1e-9)
 Функция проверки правильности нахождения коэффициентов сплайна. Проверяет основные условия непрерывности и дифференцируемости, накладываемые на кубический сплайн. Подробнее...
 
abstract IFunction HorizontalShift (double shift)
 Сдвинуть весь график функции вдоль горизонтальной оси Подробнее...
 
abstract IFunction VerticalShift (double shift)
 Сдвинуть весь график функции вдоль вертикальной оси Подробнее...
 
override string ToString ()
 

Открытые статические члены

static void tridiag_gen (double[] aArray, double[] bArray, double[] cArray, double[] dArray)
 Gauss Elimination with backsubstitution for general tridiagonal matrix with bands aArray,bArray,cArray and column vector dArray. Подробнее...
 

Открытые атрибуты

const int MinNumberOfNodes = 3
 
readonly double MinX
 

Защищенные члены

 BaseCubicSpline (double[] xs, double[] ys)
 
 BaseCubicSpline (IList< double > xs, IList< double > ys)
 
 BaseCubicSpline (CubicSplineCoeffs[] coefficients)
 

Защищенные статические члены

static CubicSplineCoeffs[] PrepareD1Coeffs (BaseCubicSpline old)
 Построить новый кубический сплайн, который является первой производной данного Подробнее...
 
static CubicSplineCoeffs[] PrepareXShiftedCoeffs (BaseCubicSpline old, double shift)
 Построить новый кубический сплайн, который является сдвигом данного вдоль оси X Подробнее...
 
static CubicSplineCoeffs[] PrepareYShiftedCoeffs (BaseCubicSpline old, double vertShift)
 Построить новый кубический сплайн, который является сдвигом данного вдоль оси Y Подробнее...
 

Защищенные данные

readonly CubicSplineCoeffs[] m_coeffs
 Коэффициенты сплайна. НУЛЕВОЙ ЭЛЕМЕНТ МАССИВА НЕ ДОЛЖЕН ИСПОЛЬЗОВАТЬСЯ! Подробнее...
 

Свойства

int N [get]
 
string Name [get, protected set]
 

Подробное описание

Интерполирование функций кубическими сплайнами https://ru.wikipedia.org/wiki/Кубический_сплайн

Методы

abstract IFunction TSLab.Script.Options.BaseCubicSpline.HorizontalShift ( double  shift)
pure virtual

Сдвинуть весь график функции вдоль горизонтальной оси

Замещает TSLab.Script.Options.IFunction.

Замещается в TSLab.Script.Options.NotAKnotCubicSpline и TSLab.Script.Options.NaturalCubicSpline.

static CubicSplineCoeffs [] TSLab.Script.Options.BaseCubicSpline.PrepareD1Coeffs ( BaseCubicSpline  old)
staticprotected

Построить новый кубический сплайн, который является первой производной данного

static CubicSplineCoeffs [] TSLab.Script.Options.BaseCubicSpline.PrepareXShiftedCoeffs ( BaseCubicSpline  old,
double  shift 
)
staticprotected

Построить новый кубический сплайн, который является сдвигом данного вдоль оси X

static CubicSplineCoeffs [] TSLab.Script.Options.BaseCubicSpline.PrepareYShiftedCoeffs ( BaseCubicSpline  old,
double  vertShift 
)
staticprotected

Построить новый кубический сплайн, который является сдвигом данного вдоль оси Y

XElement TSLab.Script.Options.BaseCubicSpline.ToXElement ( )

Сериализация кубического сплайна в виде XElement

Замещает TSLab.Script.Options.IFunction.

static void TSLab.Script.Options.BaseCubicSpline.tridiag_gen ( double[]  aArray,
double[]  bArray,
double[]  cArray,
double[]  dArray 
)
static

Gauss Elimination with backsubstitution for general tridiagonal matrix with bands aArray,bArray,cArray and column vector dArray.

Аргументы
aArraysubdiagonal. First element of array is not used
bArraymain diagonal
cArraysurdiagonal. last element of array is not used
dArrayright-hand side of equations (it contains the results after execution)
bool TSLab.Script.Options.BaseCubicSpline.TryGetValue ( double  x,
out double  dIvDk 
)

Вычисление значения интерполированной функции в произвольной точке

Аргументы
xаргумент функции
dIvDkзначение функции в этой точке
Возвращает
false – если возникли какие-то проблемы при вычислениях

Замещает TSLab.Script.Options.IFunction.

void TSLab.Script.Options.BaseCubicSpline.ValidateCoeffs ( double[]  xs,
double[]  ys,
double  delta = 1e-9 
)

Функция проверки правильности нахождения коэффициентов сплайна. Проверяет основные условия непрерывности и дифференцируемости, накладываемые на кубический сплайн.

double TSLab.Script.Options.BaseCubicSpline.Value ( double  k)

Вычислить значение функции в указанной точке. Выбрасывает ArgumentOutOfRangeException при обращении за пределами области определения.

Замещает TSLab.Script.Options.IFunction.

abstract IFunction TSLab.Script.Options.BaseCubicSpline.VerticalShift ( double  shift)
pure virtual

Сдвинуть весь график функции вдоль вертикальной оси

Замещает TSLab.Script.Options.IFunction.

Замещается в TSLab.Script.Options.NotAKnotCubicSpline и TSLab.Script.Options.NaturalCubicSpline.

Данные класса

readonly CubicSplineCoeffs [] TSLab.Script.Options.BaseCubicSpline.m_coeffs
protected

Коэффициенты сплайна. НУЛЕВОЙ ЭЛЕМЕНТ МАССИВА НЕ ДОЛЖЕН ИСПОЛЬЗОВАТЬСЯ!