Функция вычисления матрицы коэффициентов для кубической сплайн-интерполяции по заданным координатам.
M = cspline(X, Y); M = cspline(X, Y, flag);
Х – входной массив координат по оси x для вычисления матрицы коэффициентов,
Y – входной массив координат по оси y для вычисления матрицы коэффициентов,
flag - двоичный аргумент, флаг режима граничных условий, равен True по умолчанию.
Функция вычисляет матрицу коэффициентов для кубической сплайн-интерполяции по заданным координатам точек. Аргумент flag задает режим расчета производной на граничных условиях интервалов. Если flag = True, то производная на границах равна 0; если flag = False, то производная на границах рассчитывается. Если аргемент flag не задан, то считается равным True. Вычисленная матрица коэффициентов M используется функцией interpol для сплайн-интерполяции аргумента x. Входные массивы X и Y должны быть одного размера. Входные массивы X, Y могут задаваться:
M = cspline(X, Y);
M = cspline([x1,x2,x3,x4],[y1,y2,y3,y4]);
M = cspline([x1,x2,x3,x4],Y);
M = cspline(X,[y1,y2,y3,y4]);
M = cspline([-1.80,-1.60,-1.40,-1.20],Y);
M = cspline(X,[-1.80,-1.60,-1.40,-1.20]);
M = cspline([-1.80,-1.60,-1.40,-1.20],[-1.40,-0.78,-0.53,-0.35]);
M – вычисленная матрица коэффициентов.
input Q;//вход - аргумент output n;//выход - результат кубической сплайн-интерполяции //массивы координат для вычисления матрицы const Qpts = [-2.00, -1.80, -1.60, -1.40, -1.20, -1.00, -0.80, -0.60, -0.40, -0.20, 0.00, 0.20, 0.40, 0.60, 0.80, 1.00, 1.20, 1.40, 1.60, 1.80, 2.00]; const Hp = [-1.40, -0.78, -0.53, -0.35, -0.17, 0.05, 0.38, 0.80, 0.94, 1.07, 1.15, 1.26, 1.33, 1.40, 1.47, 1.40, 1.45, 1.51, 1.59, 1.69, 1.74]; Mn = cspline(Qpts,Hp); N = interpol(Q,Mn);
В результате переменной n будет присвоено интерполированное значение напора (по массивам Hp и Qpts) в соответствии со значением расхода Q.