КУСОЧНО-ЛИНЕЙНАЯ
АППРОКСИМАЦИЯ
ТАБЛИЧНО-ЗАДАННОЙ
ФУНКЦИИ
Сухов Я.И., Гарькина И.А.
Пензенский государственный университет
архитектуры и строительства
При разработке
тренажных и обучающих комплексов для подготовки операторов мобильных систем
одной из актуальных задач является кусочно-линейная аппроксимация
таблично-заданной функции системой функций
из условий максимальной
длительности интервалов аппроксимации и при совпадении узлов аппроксимации.
Наличие двух критериев порождает неоднозначность в постановке задачи: возможны
вариации в алгоритме, не влияющие на решение поставленной задачи. Приведем алгоритм
аппроксимации, который использовался при разработке имитатора динамики полета
тренажера транспортного самолета.
Блок ввода данных. Вводятся:
функция , интервал
, относительная погрешность аппроксимации
в %. Функция
реализуется в виде
программы, позволяющей вычислить ее значение в любой точке
или, хотя бы, в
точках
(
), расположенных достаточно плотно:
,
.
При реализации программы
используются таблица ; число
точек табулирования, абсолютная
погрешность аппроксимации
; принимлось
.
Блок табулирования. Блок можно организовать различными способами
с учетом имеющейся и дополнительной информации о функции (если таковая
имеется).
Алгоритм включает
вычисление
;
;
при .
Если , то необходимая информация получена. Если же
, то, уменьшается
в два раза и
продолжаются указанные вычисления (
и
можно не вычислять,
они уже получены с достаточной точностью). Для сокращения вычислений таблицу
следует лишь
дополнить отсутствующими значениями.
Блок
кусочно-линейной аппроксимации.
Кусочно-линейная аппроксимация функции (обозначается
) определяется таблицей
(
- узлы аппроксимации,
- число узлов;
- интервалы аппроксимации,
- угловые коэффициенты). Справедливо:
;
;
;
.
В силу непрерывности имеем:
.
Таким образом, для кусочно-линейной аппроксимации достаточно вычисления
для значений
(параметры
уже определены при
табулировании функции
в предыдущем блоке).
Для удобства пользования значения
;
сохраняются в памяти
ЭВМ.
Максимальность интервалов аппроксимации следует из используемого
ниже алгоритма, где точка
,
определяется как
максимально удаленная от
(считая, что
уже вычислены).
Предполагается:
;
,
.
Алгоритм вычисления . Полагая
по значениям
вычисляются значения
, а затем
. Точка
будет одной из точек
(точек
табулирования).
Алгоритм вычисления . 1).Для точки табулирования
проверяется условие
, (1)
где - номер точки табулирования
, соответствующей
(
). Переход к п.2.
2). Как только условие при некотором нарушается, то
запоминается как
; номер
запоминается как
; принимается
. Переход к п.3.
3. Проверяется условие
(1) для .
3.1. Если условие (1) для всех не выполняется, то
принимается
(весь интервал
оказывается
«интервалом запрета»). Осуществляется переход к вычислению
(принимается
).
3.2. Если условие (1) для
некоторого выполняется (пройден
«интервал запрета»), то переход к п.1. (
не увеличивается).
Так будут определены все тройки . В последней тройке
достаточно вычислить
лишь
и
.
Если при выполнении условия (1) при некотором окажется, что
, то
;
. Завершение вычислений.
Предлагаемый
алгоритм эффективно использовался при разработке комплексов для подготовки
операторов и других мобильных систем.