Динамическая аппроксимация табличной функции
Аппроксимация одномерной функции с помощью динамической таблицы.
Описание
Блок Динамическая аппроксимация табличной функции вычисляет аппроксимацию функции с помощью векторов xdat
и ydat
. Метод поиска может использовать интерполяцию, экстраполяцию или исходные значения входных данных.
Подробнее о методах интерполяции и экстраполяции можно прочитать здесь: Методы аппроксимации значений функций
Используя блок Динамическая аппроксимация табличной функции, можно изменить данные таблицы, не останавливая моделирование. Например, можно добавить новые данные в таблицу, если изменится физическая система, которая моделируется.
Входные данные для опорных точек и данных таблицы
Вектор xdat
— это вектор, содержащий значения опорных точек, которые должны быть строго монотонно возрастающими.
Вектор ydat
— это табличные данные, которые представляют собой значение функции в опорных точках.
Входные данные xdat и ydat не могут быть скаляром (одноэлементным массивом). Если ввести для любого из них скалярное значение, то при моделировании будет выводиться сообщение об ошибке.
|
Определение таблицы поиска
Определение таблицы поиска производится путем задания входных векторов xdat
и ydat
. Чтобы сократить использование памяти в генерируемом коде для этого блока, можно использовать различные типы данных для xdat
и ydat
.
Как блок вычисляет выходные данные
Блок использует входные значения для вычисления выходных данных, используя метод, который выбран в параметре Методы аппроксимации:
Значение параметра Методы аппроксимации | Действие блока |
---|---|
|
Выполняет линейную интерполяцию и экстраполяцию входных данных.
|
|
Выполняет линейную интерполяцию, но не экстраполирует за пределы конечных значений опорных точек. Вместо этого блок использует крайние значения. |
|
Находит ближайший к текущему входному значению элемент в |
|
Находит ближайший к текущему входному значению и расположенный ниже него элемент в |
|
Находит ближайший к текущему входному значению и расположенный выше него элемент в |
Методы Использовать ближайшее входное значение , Использовать ближайшее входное значение снизу и Использовать ближайшее входное значение сверху выполняют одно и то же действие, когда значения входного вектора x совпадают со значениями опорных точек.
|
Порты
Вход
#
x
—
вектор входных данных
скаляр
| вектор
| двумерная матрица
Details
Вещественный входной сигнал.
Входной вектор x
и вектор опорных точек xdat
должны иметь одинаковый тип по знаку, смещению и дробному наклону. Кроме того, точность и диапазон для типа данных x
должны быть больше или равны точности и диапазону для xdat
.
Типы данных |
|
Поддержка комплексных чисел |
Да |
#
xdat
—
вектор значений опорных точек
вектор строго монотонно возрастающих значений размерностью 1 на n
| матрица
Details
Вектор xdat
— это вектор, содержащий значения опорных точек, которые должны быть строго монотонно возрастающими.
Входной вектор x
и вектор опорных точек xdat
должны иметь одинаковый тип по знаку, смещению и дробному наклону. Кроме того, точность и диапазон для типа данных x
должны быть больше или равны точности и диапазону для xdat
.
Типы данных |
|
Поддержка комплексных чисел |
Да |
#
ydat
—
табличные данные
вектор размерностью 1 на n
Details
Вектор ydat
— это вектор размерностью 1 на вещественных или комплексных табличных данных, которые представляют собой значение функции в опорных точках.
Типы данных |
|
Поддержка комплексных чисел |
Да |
Выход
#
y
—
аппроксимация y = f(x) с помощью динамической таблицы
вектор размерностью 1 на n
| скаляр
Details
Аппроксимация функции с помощью входных векторов опорных точек xdat
и табличных данных ydat
. Метод поиска может использовать интерполяцию, экстраполяцию или исходные значения входных данных.
Типы данных |
|
Поддержка комплексных чисел |
Да |
Параметры
Основные
#
Методы аппроксимации —
метод поиска
Интерполяция-Экстраполяция
| Интерполяция с граничными значениями
| Использовать ближайшее входное значение
| Использовать ближайшее входное значение снизу
| Использовать ближайшее входное значение сверху
Details
Блок вычисляет выходные данные, применяя выбранный метод Методы аппроксимации к входным векторам опорных точек xdat
и табличных данных ydat
. Подробнее см. в разделе Как блок вычисляет выходные данные.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Атрибуты сигнала
#
Тип данных выхода —
тип выходных данных
Float64
| Float32
| Int8
| UInt8
| Int16
| UInt16
| Int32
| UInt32
| Int64
| UInt64
| Int128
| UInt128
| Bool
| Фиксированная точка
Details
Укажите тип выходных данных.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
#
Тип выхода в фиксированной точке —
тип выходных данных с фиксированной точкой
Тип данных
Details
Укажите тип выходных данных с фиксированной точкой.
Зависимости
Чтобы использовать этот параметр, укажите для параметра Тип данных выхода значение Фиксированная точка
.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
#
Метод округления до целого —
режим округления для операций с фиксированной точкой
К большему
| Конвергентный
| К меньшему
| К ближайшему
| Математическое
| К нулю
Details
Выберите режим округления для операций с фиксированной точкой. Вы можете выбрать:
-
К меньшему
— округляет как положительные, так и отрицательные числа в меньшую сторону (в сторону отрицательной бесконечности). -
К большему
— округляет как положительные, так и отрицательные числа в большую сторону (в сторону положительной бесконечности). -
Конвергентный
— округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, число округляется до ближайшего четного целого числа. -
К ближайшему
— округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, число округляется в большую сторону (в сторону положительной бесконечности). -
Математическое
— округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, положительные числа округляются в большую сторону (в сторону положительной бесконечности), а отрицательные – в меньшую (в сторону отрицательной бесконечности).
-
К нулю
— округляет число в сторону нуля.
Параметры блока всегда округляют до ближайшего представимого значения.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
#
Ограничить при переполнении целого —
насыщение до целого при переполнении
Логический тип
Details
При установке этого флажка переполнения насыщаются до максимального или минимального значения, которое может представлять данный тип данных. В противном случае переполнения оборачиваются в соответствующее значение, которое может быть представлено типом данных.
При установке этого флажка насыщение применяется ко всем внутренним операциям блока, а не только к выходу или результату.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |