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

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

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

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

 NotAKnotCubicSpline (double[] xs, double[] ys)
 
 NotAKnotCubicSpline (IList< double > xs, IList< double > ys)
 
 NotAKnotCubicSpline (XElement xel)
 
override IFunction HorizontalShift (double shift)
 Сдвинуть весь график функции вдоль горизонтальной оси Подробнее...
 
override IFunction VerticalShift (double vertShift)
 Сдвинуть весь график функции вдоль вертикальной оси Подробнее...
 
NotAKnotCubicSpline DeriveD1 ()
 Получение кубического сплайна, который является первой производной данного Подробнее...
 
NotAKnotCubicSpline DeriveD1Advanced ()
 Получение кубического сплайна, который является первой производной данного. При этом мы заново делаем интерполирование по точкам сплайна D1, чтобы получить ненулевые коэффициенты D. Этим мы как бы подразумеваем, что сплайн интерполирует бесконечно-дифференцируемую функцию. Подробнее...
 
- Открытые члены унаследованные от TSLab.Script.Options.BaseCubicSpline
 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)
 Функция проверки правильности нахождения коэффициентов сплайна. Проверяет основные условия непрерывности и дифференцируемости, накладываемые на кубический сплайн. Подробнее...
 
override string ToString ()
 

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

static void PrepareTridiagSystem (double[] xs, double[] ys, double[] subDiag, double[] mainDiag, double[] surDiag, double[] rhs)
 По таблице интерполируемых узлов (xs; ys) построить 4 вектора эквивалентной трёхдиагональной матрицы. Подробнее...
 
static void PrepareTridiagSystem (IList< double > xs, IList< double > ys, double[] subDiag, double[] mainDiag, double[] surDiag, double[] rhs)
 По таблице интерполируемых узлов (xs; ys) построить 4 вектора эквивалентной трёхдиагональной матрицы. Подробнее...
 
- Открытые статические члены унаследованные от TSLab.Script.Options.BaseCubicSpline
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. Подробнее...
 

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

 NotAKnotCubicSpline (CubicSplineCoeffs[] coefficients)
 
- Защищенные члены унаследованные от TSLab.Script.Options.BaseCubicSpline
 BaseCubicSpline (double[] xs, double[] ys)
 
 BaseCubicSpline (IList< double > xs, IList< double > ys)
 
 BaseCubicSpline (CubicSplineCoeffs[] coefficients)
 

Дополнительные унаследованные члены

- Открытые атрибуты унаследованные от TSLab.Script.Options.BaseCubicSpline
const int MinNumberOfNodes = 3
 
readonly double MinX
 
- Защищенные статические члены унаследованные от TSLab.Script.Options.BaseCubicSpline
static CubicSplineCoeffs[] PrepareD1Coeffs (BaseCubicSpline old)
 Построить новый кубический сплайн, который является первой производной данного Подробнее...
 
static CubicSplineCoeffs[] PrepareXShiftedCoeffs (BaseCubicSpline old, double shift)
 Построить новый кубический сплайн, который является сдвигом данного вдоль оси X Подробнее...
 
static CubicSplineCoeffs[] PrepareYShiftedCoeffs (BaseCubicSpline old, double vertShift)
 Построить новый кубический сплайн, который является сдвигом данного вдоль оси Y Подробнее...
 
- Защищенные данные унаследованные от TSLab.Script.Options.BaseCubicSpline
readonly CubicSplineCoeffs[] m_coeffs
 Коэффициенты сплайна. НУЛЕВОЙ ЭЛЕМЕНТ МАССИВА НЕ ДОЛЖЕН ИСПОЛЬЗОВАТЬСЯ! Подробнее...
 
- Свойства унаследованные от TSLab.Script.Options.BaseCubicSpline
int N [get]
 
string Name [get, protected set]
 

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

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

Методы

NotAKnotCubicSpline TSLab.Script.Options.NotAKnotCubicSpline.DeriveD1 ( )

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

NotAKnotCubicSpline TSLab.Script.Options.NotAKnotCubicSpline.DeriveD1Advanced ( )

Получение кубического сплайна, который является первой производной данного. При этом мы заново делаем интерполирование по точкам сплайна D1, чтобы получить ненулевые коэффициенты D. Этим мы как бы подразумеваем, что сплайн интерполирует бесконечно-дифференцируемую функцию.

override IFunction TSLab.Script.Options.NotAKnotCubicSpline.HorizontalShift ( double  shift)
virtual

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

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

static void TSLab.Script.Options.NotAKnotCubicSpline.PrepareTridiagSystem ( double[]  xs,
double[]  ys,
double[]  subDiag,
double[]  mainDiag,
double[]  surDiag,
double[]  rhs 
)
static

По таблице интерполируемых узлов (xs; ys) построить 4 вектора эквивалентной трёхдиагональной матрицы.

Аргументы
xs
ys
subDiag
mainDiag
surDiag
rhs
static void TSLab.Script.Options.NotAKnotCubicSpline.PrepareTridiagSystem ( IList< double >  xs,
IList< double >  ys,
double[]  subDiag,
double[]  mainDiag,
double[]  surDiag,
double[]  rhs 
)
static

По таблице интерполируемых узлов (xs; ys) построить 4 вектора эквивалентной трёхдиагональной матрицы.

Аргументы
xs
ys
subDiag
mainDiag
surDiag
rhs
override IFunction TSLab.Script.Options.NotAKnotCubicSpline.VerticalShift ( double  vertShift)
virtual

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

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