Алгоритм локальной интерполяции по формуле Лагранже

Алгоритм глобальной интерполяции по формуле Лагранжа.

Ввод x(i), y(i), где i=1,2…n; xk
Вычисление yk по формуле (2)
Печать xk, yk

x(n), y(n) –массивы заданных точек и функции в этих точках;

xk – точка, в которой надо найти значение функции yk.

3.3.2. Локальная интерполяция.

При локальной интерполяции для каждого интервала строится своя функция. Рассмотрим линейную интерполяцию. Задана точка x (i=1, 2, 3….n) на отрезке [a;b] и значения функции в этих точках y(i). Запишем уравнение прямой на i - том интервале, проходящей через точки (xi-1, yi-1) и (xi, yi):

(y-yi-1) / (yi-yi-1) = (x-xi-1) / (xi-xi-1)

Отсюда

y = yi-1 + (yi-yi-2) * (x-xi-1) / (xi-xi-1)

По этой формуле можно определить функцию y в лубой точке. Но сначала надо определить в какой интервал отрзка [a;b] попадет искомая точка, т. е. определитель i.

Алгоритм линейной интерполяции.

Ввод x(i), y(i), где i=1,2…n; xk
i=1
Начало цикла
i=i+1
конец цикла, по условию xk<x(i)
Вычисление yk по формуле (3)
Печать xk, yk

x(n), y(n) –массивы заданных точек и функции в этих точках;

xk – точка, в которой надо найти значение функции yk.

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

Алгоритм локальной интерполяции по формуле Лагранже.

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

n - количество узлов интерполяции;

a, b – соответственно левый и правый концы интервала;

x (n), y (n) - массивы узлов интерполяции;

xk - точка, в которой надо найти значение функции;

yk – значение интерполяционного многочлена в точке xk;

nn, nk – соответственно номера 1- ой и последней точек интерполяционного многочлена.

Ввод a, b, n, xk, x(i), y(i) i=1, 2, … n
k=1
Начало цикла
k=k+1
Конец цикла, по условию xk < x(k)
Если х<=2, то nn=1; nk=4
Если 2<k<=n-1, то nn=k-2; nk=k+1
Если k=n, то nn=n-3; nk=n
yk=LAGR(nn,nk,xk,x,y)
Печать xk, yk

В этом случае формула Лагранжа запишется так:

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

Инструкция пользования программой

Для запуска программы необходимо открыть лист EXCEL, затем нажать на клавишу ALT и F11 одноременно. Затем появится окно для напиcания программы для языке Visual Basic.

Сначала рассмотрим запись на Visual Basic по методу глобальной интерполяции:

· вводим массивы узлов интерполяции, количество узлов интерполяции и точку, в которой надо найти промежуточное значение;

· переводим формулу Лагранжа (2) на язык программирования для Visual Basic и записываем;

· вводим адрес ячейки для вывода на лист EXCEL, в которую выйдет значение промежуточной точки (уk).

Теперь рассмотрим запись по методу линейной интерполяции:

· вводим массивы узлов интерполяции, количество узлов интерполяции и точку, в которой надо найти промежуточное значение;

· находим номера точек;

· записываем формулу для нахождения промежуточной точки (уk);

· вводим адрес ячейки для вывода на лист EXCEL.

Запись по методу локальной интерполяции:

· обращаем формулу Лагранжа для локальной интерполяции к функции и записываем;

· вводим массивы узлов интерполяции, количество узлов интерполяции и точку, в которой надо найти промежуточное значение;

· находим номера точек;

· вводим условия для значений nn и nk;

· вводим адрес ячейки для вывода на лист EXCEL.

Исходные данные и результат решения контрольного примера

1. Вводные данные:

x -5 -4 -3 -2 -1
y -2,17 -2,96 -5,29 20,00 1,11 0,00 0,91 2,22 2,43 2,16 1,85

Задача:

Вычислить значение функции между всеми точками методами:

1. Лагранжа как глобальную интерполяцию;

2. Лагранжа как локальную интерполяцию;

3. линейной интерполяции.

2. График функции вводных данных:

Рис.1

3. Текст программы по методу глобальной интерполяции по формуле Лагранжа;

4. Текст программы по методу линейной интерполяции:

5. Текст программы по методу локальной интерполяции по формуле Лагранжа:

6. Все найденные точки на листе EXCEL:

Рис.2

7. Построение найденных промежуточных точек на графике:

Рис. 3

Заключение

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

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

Список использованной литературы

1. Бахвалов, Н. С. Численные методы / Н. С. Бахвалов, Н. П. Жидков, Г. М. Кобельков. - М. : Наука, 1987. - 597 с.

2. Бут, Э. Д. Численные методы / Э. Д. Бут. - М. : Физматгиз, 1959. - 239 с.

3. Воробьева, Г. Н. Практикум по вычислительной математике / Г. Н. Воробьева, А. Н. Данилова. – М. : Высшая школа, 1990. – 207 с.

4. Рено, Н. Н. Численные методы: учебное пособие / Н. Н. Рено. – М. : КДУ, 2007. - 100 с.

5. Турчак, Л. И. Основы численных методов / Л. И. Турчак. - М. : Наука, 1978. - 318 с.

6. Хемминг, Р. В. Численные методы / Р. В.. Хемминг. - М. : Наука, 1968. - 400 с.

Наши рекомендации