Главная > Математика > Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

ГЛАВА 3. ИНТЕРПОЛЯЦИЯ ЗАВИСИМОСТЕЙ

3.1. Интерполяция каноническим полиномом

Одной из важнейших задач в процессе математического моделирования является вычисление значений функций, входящих в математическое описание модели. Для сложных моделей подобные вычисления могут быть трудоемкими даже при использовании ЭВМ. При выполнении программ, реализующих основные методы вычислительной математики, большая часть времени также затрачивается на вычисление функций.

Используемые в математических моделях функции задаются как аналитическим способом, так и табличным, при котором функции известны только при дискретных значениях аргументов. Ограниченный объем памяти ПЭВМ не позволяет хранить подробные таблицы функций, желательно иметь возможность «сгущать» таблицы, заданные с крупным шагом аргумента.

Поставленные проблемы решаются путем приближенной замены функции более простой функцией которую нетрудно вычислять при любом значении аргумента х в заданном интервале его изменения. Введенную функцию можно использовать не только для приближенного определения численных значений но и для проведения аналитических выкладок при теоретическом исследовании модели.

Приближение функции более простой функцией называется аппроксимацией (от латинского приближаюсь). Близости этих функций добиваются путем введения в аппроксимирующую функцию свободных параметров и соответствующим их выбором.

В задачах теории колебаний, электродинамики, твердотельной электроники широко используются аппроксимации функций для описания физических параметров сред, для задания характеристик активных и пассивных элементов путем радиотехнических цепей и т.д. В вычислительной математике аппроксимация функций является основной для разработки многих методов и алгоритмов.

Пусть функция задана таблицей значений, полученной из эксперимента или путем вычисления в последовательности значений аргумента Выбранные значения аргумента х называются узлами таблицы. Считаем, что узлы в общем случае не являются равноотстоящими.

Таблица 3.1

Введем аппроксимирующую функцию так, чтобы она совпадала с табличными значениями заданной функции во всех узлах

Свободные параметры с,- определяются из системы (3.1).

Подобный способ введения аппроксимирующей функции называется лагранжевой интерполяцией, а соотношения (3.1) - условиями Лагранжа [1].

Задачей интерполяции в узком смысле считают нахождение приближенных значений табличной функции при аргументах х, не совпадающих с узловыми. Если значение аргумента х расположено между узлами то нахождение приближенного значения функции называют интерполяцией, если аппроксимирующую функцию вычисляют вне интервала то процесс называют экстраполяцией. Происхождение этих терминов связано с латинскими словами inter - между, внутри, pole - узел, extra - вне.

В более общем плане с помощью интерполяции решают широкий круг задач численного анализа - дифференцирование и интегрирование функций, нахождение нулей и экстремумов функций, решение дифференциальных уравнений и т. д. Возможность решения подобных задач обусловлена достаточно простым видом аппроксимирующей функии

Выберем в качестве аппроксимирующей функции полином степени в каноническом виде

Свободными параметрами интерполяции являются коэффициенты полинома (3.2). Интерполяция полиномами обладает такими преимуществами, как простота вычислений их значений, дифференцирования и интегрирования.

Коэффициенты определим из условий Лагранжа

или

Система линейных алгебраических уравнений (3.3) относительно свободных параметров с,- имеет решение, так как определитель системы отличен от нуля, если среди узлов нет совпадающих. Определитель системы (3.3) называется определителем Вандермонда и имеет аналитическое выражение [1].

Для вычисления значений коэффициентов интерполяционного полинома (3.2) можно использовать программы 2.1, в которых следует изменить подпрограмму блока 1 для формирования расширенной матрицы системы уравнений. Численные значения полинома определяют по схеме Горнера по алгоритму блока 2 программ 1.4.

Рис. 3.1. Блок-схема программы интерполяции каноническим полиномом

Пронумерованные блоки программы (рис. 3.1) оформлены в виде подпрограмм, остальные блоки размещаются в основной программе.

Массивы введены для размещения узлов и значений интерполируемой функции, массив С - для коэффициентов полинома, двумерный массив А - для элементов расширенной матрицы системы (3.3).

Расширенная матрица формируется в блоке 2. Последний столбец матрицы определяется во внешнем цикле (строка 200 программы Другие элементы матрицы, являющиеся степенями узловых значений аргумента х, получаются путем последовательного умножения во внутреннем цикле (строка 210).

В подпрограмме метода Гаусса на языках Бейсик и Паскаль проведены изменения с учетом того, что расширенная матрица А имеет строку и столбец с нулевым номером, а также исключены операторы, проверяющие определитель основной матрицы на нуль, так как определитель Вандермонда отличен от нуля, если отсутствуют совпадающие узлы.

Блок 4 вычисления полинома по схеме Горнера может быть дополнен при необходимости операторами для вычисления производных от интерполяционного полинома Так, для вычисления первой и второй производных в программе в цикле Горнера (строка 510) необходимо добавить операторы а вне цикла - операторы инициализации Аналогичные дополнения можно сделать в программах

Учитывая, что начальные номера массивов на языке Фортран Начинаются с единицы, переменную в программе необходимо задавать на единицу больше степени аппроксимирующего полинома

Для проверки программ 3.1 можно взять пример [1] интерполяции функции с четырьмя узлами (табл. 3.2). При получим .

Таблица 3.2

Рассмотренный способ вычисления интерполяционного полинома не является эффективным по затратам времени и объему памяти ЭВМ. Разработаны более экономичные формы представления и способы вычисления интерполяционных полиномов.

Независимо от формы записи полинома для заданной таблицы узлов и значений функции интерполяционный полином является единственным. Это важное утверждение доказывается методом от противного [41].

Предположим, что для одной и той же табл. 3.1 с узлом построены два полинома степени с разными коэффициентами. Запишем алгебраическое уравнение

левая часть которого будет также полиномом степени По основной теореме алгебры уравнение (3.4) имеет корней. С другой стороны, в узлах значения обоих полиномов совпадают со значениями аппроксимируемой функции Значит узлы являются корнями уравнения (3.4), т.е. количество корней равно Противоречие с основной теоремой алгебры приводит к тождеству что и доказывает единственность интерполяционного полинома Единственность позволяет вводить интерполяционные полиномы в формах, отличных от канонической (3.2).

(см. скан)

(см. скан)

(см. скан)

(см. скан)

<< Предыдущий параграф Следующий параграф >>
Оглавление