Функция двумерной линейной, трехмерной линейной, кубической сплайн- интерполяции аргумента x.
y = interpol(X, Y, х); z = interpol(X, Y, Z, х, y); y = interpol(x, M);
Х – входной массив координат точек по оси x для вычисления линейной интерполяции,
Y – входной массив координат точек по оси y для вычисления линейной интерполяции,
Z – входной массив координат точек по оси z для вычисления линейной интерполяции,
x,y – аргументы для интерполяции,
M – матрица коэффициентов кубической сплайн-интерполяции.
interpol(x, M) – функция кубической cплайн-интерполяции аргумента x по вычисленной ранее при помощи функции cspline матрице коэффициентов M. Вычисление производится согласно формуле:
interpol(X,Y, х) – функция двумерной линейной интерполяции аргумента x по заданным координатам точек.
interpol(X,Y,Z, х, y) – функция двумерной линейной интерполяции аргументов x,y по заданным координатам точек. Входные массивы X, Y - вектора, Z - матрица, определяющая соответствие элементов массива Y элементам массива X. Входные массивы X, Y, Z могут задаваться:
y = interpol(X, Y, х);
y = interpol([x1,x2,x3,x4],[y1,y2,y3,y4], x);
y = interpol([x1,x2,x3,x4], Y, x);
y = interpol(X, [y1,y2,y3,y4], x);
y = interpol([-1.80, -1.60, -1.40, -1.20],Y, x);
y = interpol(X, [-1.80, -1.60, -1.40, -1.20], x);
y = interpol([-1.80, -1.60, -1.40, -1.20],[-1.40, -0.78,-0.53,-0.35], x);
y – результат интерполяции аргумента x,
z – результат интерполяции аргументов x, y.
Кубическая cплайн-интерполяция:
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.
Двумерная линейная интерполяция:
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]; n = interpol(Qpts, Hp, Q);
В результате переменной n будет присвоено линейно-интерполированное значение напора (по массивам Hp и Qpts) в соответствии со значением расхода Q.