Интерполяция семейства изолиний
![]() |
![]() |
| Векторизован
| |
| в палитре | на схеме |
Описание
Блок предназначен для интерполяции табличной характеристики, заданной семейством изолиний и представленной в виде функции двух аргументов. Блок необходимо использовать в случае, если в интерполируемой характеристике сетка значений одного аргумента различна при различных значениях другого аргумента. Например, блок может применяться для интерполяции расходно-напорной характеристики насоса, представленной в виде набора кривых (семейства изолиний) при различных частотах вращения насоса (на различных уровнях).
Набор точек таблицы задается как набор одномерных зависимостей значений функции от второго аргумента интерполяции (изолиний) при постоянном значении первого аргумента (уровня). Количество изолиний определено размером массива значений уровня – каждому уровню должна соответствовать одна изолиния. Каждая изолиния задается в виде одномерной табличной зависимости значения функции от значения аргумента с помощью массива значений аргументов и массива значений функции.
- Через свойства блока
- Через JSON-файл
Задание семейства изолиний через свойства
При задании семейства изолиний через свойства блока значения уровней задаются в виде соответствующего массива. Для задания точек изолиний используются две матрицы: матрица значений аргумента и матрица значений функции. Количество строк матриц должно быть равно количеству значений уровня. Каждая строка матрицы соответствует одной изолинии: строка матрицы значений аргумента задает массив аргументов, а строка матрицы значений функции задает массив функций. Количество элементов во всех строках обеих матриц должно быть одинаковым.
- Массив уровней будет содержать значения частот вращения насоса, для которых определены расходо-напорные характеристики насоса (изотахи).
- Строки матрицы значений аргументов будут содержать значения напоров. Элемент матрицы значений аргументов с индексом [i, j] будет содержать значение напора в j-й точке расходно-напорной характеристики на i-й частоте вращения.
- Строки матрицы значений функции будут содержать значения расходов. Элемент матрицы значений функции с индексом [i, j] будет содержать значение расхода, который соответствует значению напора в j-й точке расходно-напорной характеристики на i-й частоте вращения.
Задание семейства изолиний через JSON-файл
При задании семейства изолиний через JSON-файл в свойствах блока задается имя JSON-файла, в котором сохранены значения уровней, аргументов и функции. Значения уровней должны быть сохранены в виде массива в теге levels. Изолинии должны быть сохранены в виде матриц в тегах data_1, data_2 и т.д. Количество изолиний должно быть равно количеству элементов в массиве уровней. Индексы тегов указывают номера элементов массива уровней, которым соответствуют задаваемые изолинии. Все матрицы должны иметь 2 строки и одинаковое количество столбцов. В первой строке каждой матрицы должны быть сохранены значения аргументов изолинии, во второй строке – соответствующие значения функции.
{
levels: [1, 2, 3],
data_1: [
[1, 2, 3, 4],
[10, 20, 30, 40]],
data_2: [
[2, 3, 4, 5],
[11, 22, 33, 44]],
data_3: [
[3, 4, 5, 6],
[15, 25, 35, 45]]
}В
данном случае характеристика имеет 3 значения уровня и, соответственно, содержит 3 изолинии.
Каждая изолиния задана 4-мя точками. Первая изолиния определяет значение функции на сетке
аргумента [1, 2, 3, 4], вторая – на сетке [2, 3, 4, 5], третья – на сетке [3, 4, 5, 6]. Методы интерполяции и экстраполяции
- Ступенчатая. Результат интерполяции зависит от значения свойства "Метод
выбора точки":
- Ближайшая. Результат интерполяции равен значению функции в ближайшем узле интерполяции
- Ближайшая левая. Результат интерполяции равен значению функции в узле с ближайшими меньшими (включительно) значениями аргументов
- Ближайшая правая. Результат интерполяции равен значению функции в узле с ближайшими большими (включительно) значениями аргументов
- Линейная. Для определения результата интерполяции через узлы интерполяции проводится кусочно-линейная функция. В интерполяционной сетке допускается наличие точек с одинаковыми значениями аргументов и различными значениями функции, чтобы задать в функции разрывы типа "скачок". Из двух точек с одинаковым значением аргумента первая будет задавать левый предел функции, вторая – правый
- Ноль вне диапазона. Результат интерполяции вне диапазона равен 0
- Константа вне диапазона. Результат интерполяции вне диапазона равен значению функции на границе диапазона
- Экстраполировать границы. Результат интерполяции вне диапазона определяется путем продления интерполирующей функции за границы заданной таблицы
Входные порты
| Имя | Описание | Тип линии связи |
|---|---|---|
| level | Массив значений уровня, для которых необходимо вычислить результаты интерполяции | Математическая |
| arg | Массив значений аргумента, для которых необходимо вычислить результаты интерполяции | Математическая |
Выходные порты
| Имя | Описание | Тип линии связи |
|---|---|---|
| val | Массив результатов интерполяции в точках с заданными значениями уровня и аргумента | Математическая |
Свойства
| Название | Имя | Описание | По умолчанию | Тип данных |
|---|---|---|---|---|
| Способ задания таблицы | InputType |
Указывает способ задания точек табличной функции. Возможные значения:
|
Через свойства блока | Перечисление |
| Метод интерполяции | InterpolType |
Указывает метод интерполяции. Возможные значения:
|
Линейная | Перечисление |
| Метод выбора точки | StepInterpolType | Указывает метод выбора ближайшей точки для ступенчатой интерполяции. Возможные значения:
|
Ближайшая | Перечисление |
| Метод экстраполяции | ExtrapolType |
Указывает метод экстраполяции. Возможные значения:
|
Константа вне диапазона | Перечисление |
| Массив значений уровня | LevelsArr | Массив значений уровня таблично заданной функции. Свойство доступно только при выборе способа задания таблицы "Через свойства блока" | [1 , 2] | Массив |
| Матрица значений аргумента | ArgsMatr | Матрица значений аргументов таблично заданной функции. Свойство доступно только при выборе способа задания таблицы "Через свойства блока" | [[1 , 2 , 3];[4 , 5 , 6]] | Матрица |
| Матрица значений функции | ValsMatr | Матрица значений таблично заданной функции. Свойство доступно только при выборе способа задания таблицы "Через свойства блока" | [[1 , 2 , 3];[4 , 5 , 6]] | Матрица |
| Имя файла | FileName | Имя JSON-файла с таблично заданной функцией. Свойство доступно только при выборе способа задания таблицы "Через JSON-файл" | File.json | Имя файла |
Параметры
Блок не имеет параметров.

