interpol
Функция двумерной линейной, трехмерной линейной, кубической сплайн-интерполяции аргумента x.
Синтаксис
y = interpol(X, Y, x);
y = interpol(X, Y, x, sort_flag);
z = interpol(X, Y, Z, x, y);
z = interpol(X, Y, Z, x, y, sort_flag);
y = interpol(x, M);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| X | array |
Входной массив координат точек по оси x для вычисления линейной интерполяции |
| Y | array |
Входной массив координат точек по оси y для вычисления линейной интерполяции |
| Z | array2 |
Входной массив координат точек по оси z для вычисления линейной интерполяции |
| x,y | double |
Аргументы для интерполяции |
| sort_flag | boolean |
Опциональный флаг для указания необходимости сортировать входные массивы |
| M | array2 |
Матрица коэффициентов кубической сплайн-интерполяции |
Описание
interpol(x, M) – функция кубической сплайн-интерполяции аргумента x по
вычисленной ранее при помощи функции cspline матрице коэффициентов M.
Вычисление производится согласно формуле:
interpol(X, Y, x) – функция одномерной линейной интерполяции аргумента x
по заданным координатам точек. Координаты точек (массив X) должны быть отсортированы по
возрастанию или убыванию, в противном случае следует использовать опциональный флаг
sort_flag.
interpol(X, Y, x, sort_flag) – функция одномерной линейной интерполяции с
указанием необходимости сортировать координаты точек. При sort_flag = True перед
интерполяцией будет произведена сортировка массивов X и Y по возрастанию элементов массива
X.
interpol(X, Y, Z, x, y) – функция двумерной линейной интерполяции
аргументов x,y по заданным координатам точек. Входные массивы X, Y - вектора, Z - матрица,
определяющая соответствие элементов массива Y элементам массива X. Координаты точек (массивы
X и Y) должны быть отсортированы по возрастанию или убыванию, в противном случае следует
использовать опциональный флаг sort_flag.
interpol(X, Y, Z, x, y, sort_flag) – функция двумерной линейной
интерполяции с указанием необходимости сортировать координаты точек. При sort_flag = True
перед интерполяцией будет произведена сортировка массивов X, Y и матрицы Z по возрастанию
элементов массивов X и Y.
Входные массивы X, Y, Z могут задаваться:
- как переменные типа массив, определенные ранее:
y = interpol(X, Y, x);
- как переменные типа массив, состоящие из переменных double, определенных ранее:
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 | array2 |
Результат интерполяции аргумента x |
| z | array2 |
Результат интерполяции аргументов x, y |
Пример 1
Кубическая сплайн-интерполяция:
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.
Пример 2
Двумерная линейная интерполяция:
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.
Дополнительные материалы
Нет.