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

В задаче приближения функции и
на всём отрезке
алгебраическое интерполирование
высокого порядка выполняется сравнительно
редко. Алгебраический интерполяционный
процесс не является сходящимся в классе
непрерывных на
функций. Обычно ограничиваются линейным
интерполированием по узлам
и
на каждом отрезке
или квадратичным по трем узлам
,
,
на отрезке
.
Эффективным аппаратом приближения функции являются интерполяционные сплайны, но их построение в ряде частных случаях требует значительных вычислительных затрат.
На практике чаще всего используются
параболические или кубические
полиноминальные сплайны. Интерполяция
кубическим сплайном дефекта
1 для функции
относительно сетки
называет функцию
,
являющуюся многочленом 3-й степени на
каждом из отрезков
,
принадлежащую классу дважды непрерывно
дифференцируемых функции и удовлетворяющую
условиям
.
При таком определении кубического
сплайна, он имеет еще свободных параметра,
для нахождения которых на сплайн
налагаются дополнительные краевые
условия. Например
или
и
,
или некоторые другие.
Полиномиальный интерполяционный
сплайн произвольной степени m
дефекта r
определяется как функция
,
удовлетворяющая, кроме условий
и
,
еще дополнительно условиям совпадения
в узлах сетки значений функции
и интерполированной функции
и их производных до некоторого порядка.
Часто при обработке эмпирических
данных
коэффициенты
в
определяют исходя из требования
минимизации суммы

-
заданные числа,
.
Такое построение функции называют интерполированием по методу наименьших квадратов.
Интерполирование функций многих
переменных имеет ряд принципиальных и
алгебраических трудностей. Например в
случае алгебраической интерполяции
интерполяционный многочлен Лагранжа
фиксированной степени, вообще говоря,
не существует для произвольной схемы
различных узлов интерполяции. В частности
для функций двух переменных
такой многочлен
суммарной степени не выше
n
может быть построен по
узлам
лишь при условии, что эти узлы не лежат
на алгебраической кривой порядка n.
Другой поход к интерполированию
функции многих переменных
стоит в том, что сначала интерполируется
функция по переменной
при фиксированных
потом по следующей переменной при
фиксированных
и т.д. интерполяционные сплайны для
функций многих переменных определяются
по многомерной сетке при соответствующих
изменениях по аналогии с одномерным
случаем.
Интерполирование функций и численные методы. Интерполирование функции используется:
для замены сложно вычисляемой функции другой, вычисляемой проще
для приближенного восстановления функции на всей области задания по значениям её в отдельных точках или по другим известным величинам
для получения сглаживающих функций
для приближенного нахождения предельных значений функции
в задачах ускорения сходимости последовательностей и рядов и в других вопросах.
Общие идеи построения
интерполяционных методов решения
уравнения
=0
и систем уравнения
,
одни и те же. Трудности задачи
интерполирования функций многих
преременных особенно сказывается при
исследовании и практическом использовании
такого рода методов для большого числа
уравнений. В основу получении
интерполяционных методов решения
уравнения
=0
положена замена функции
ее интерполяционным многочленом
и последующим решением уравнения
=0
берутся за приближенные
решении уравнения
=0
интерполяционный многочлен
используется так же при построении
итерационных методов решения уравнения
=0.
Например взяв за
корень линейного интерполяционного
алгебраического многочлена, построенного
по значениям
и
в узле
или по значениям
и
в узлах
и
,
приходят соответственно к методу Ньютона
и метода секущих
,
где
-
разделенная разность функций для узлов
и
.
Другой подход к построению
численных методов решения уравнения
=0
основан на интерполировании обратной
функции
.
Пусть в качестве интерполяционной
формулы для функции
взят интерполяционный алгебраический
многочлен Лагранжа
,
построенный по узлам
Тогда за следующее приближению к корню
уравнения
=0
берется величина
.
Численное интегрирование. Аппарат интерполирования функции лежит в основе построения многих квадратурных и кубатурных формул. Такого рода формулы строятся путем замены интегрируемой функции на всей области или на её составных частях интерполяционными многочленами того или иного вида и последующим интегрированием этих многочленов. Например квадратурные формулы наивысшей алгебраической степени точности, так называемые квадратурные формулы Гаусса:

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

|
|
|
выбираются так чтобы значения
совпадали с известными заранее значениями
для данного множества
попаро
различных значений аргумента:
такой способ приближенного
представления функций называется
интерполированием, а точки
,
для которых должны выполняться условия
,
- узлами интерполяции.
В ряде случаев (например, при
интерполировании алгебраическими
многочленами) параметры
могут быть явно выражены из системы
,
и тогда
непосредственно
используется для приближенного вычисления
значений функции
.
Интерполяционный процесс-
процесс получения последовательности
интерполирующих функций
при неограниченном возрастании числа
n
узлов интерполирования.
Если интерполирующие функции
представлены в виде частных сумм
некоторого функционального ряда, то
последний иногда называется интерполяционным
рядом. Целью
построения интерполяционного полинома
чаще всего является, по крайней мере в
простейших первоначальных задачах
интерполирования, приближение в каком-
то смысле по средствам интерполирующих
функций
,
о которой или имеется неполная информация,
или форма которой слишком сложна для
непосредственного использования.
Интерполяционная формула Эверетта:
Интерполяционные формулы Грегори-
Ньютона построенные по нисходящим или
восходящим разностям, наиболее
целесообразно применять в начале или
конце таблицы. При этом для достижения
высокой степени точности иногда
приходится рассматривать разности,
отстоящие достаточно далеко от
интересующих нас значений функции
или
.
Поэтому на средних участках таблицы
лучше результаты дают интерполяционные
формулы, построенные на базе центральных
разностей, то есть разностей, которые
ближе всего расположены к центральной
сотке, содержащей
.
К интерполяционным формулам с центральными разностями относятся формулы Гаусса, Стирлинга, Бесселя, Эверетта и многие другие; формула Эверетта получила наибольшее распространение, она была получена 1900 г.:

где
;
;
.
Формуле Эверетта так же можно придать форму, наиболее удобную для вычисления:

если для ее коэффициентов ввести обозначения


Коэффициенты
удобнее всего вычислять по следующей
рекуррентной формуле, которая
непосредственно вытекает из
:
;
;

Таблица разностей:
|
x |
y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|||
|
|
|
|
||||
|
|
|
Таблицу можно продолжать строить,
в нашем случае до последнего
,
число разностей зависит от количества
значений y.
Таблица разностей
высчитывается
,
и так далее(можно заметить такую систему
в приведенной выше таблице)
Тестовый пример.
П
р и м е р. Функция
задана таблицей на сегменте
.
Определим при помощи интерполяции
значение
.
Р е ш е н и е. По данным значениям функции составляем таблицу разностей (табл. 1), из которых видно, что четвертые разности в данном примере практически равны постоянны, а пятые разности практически равны нулю, и поэтому мы их в дальнейших вычислениях не будем принимать во внимание.
Принимаем
=0,85;
=0,9;
=0,874.
Тогда
=0,8273695;
=0,8075238,
и, далее, так как шаг таблицы
=0,05,
то

Т а б л и ц а 2
|
x |
|
|
|
|
|
|
|
0.60 0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00 |
0.9120049 0.8971316 0.8812009 0.8642423 0.8462874 0.8273695 0.8075238 0.7867871 0.7651977 |
-0.0148733 -0.0159307 -0.0169586 -0.0179549 -0.0189179 -0.0198457 -0.0207367 -0.0215894 |
-0.0010574 -0.0010279 -0.0009963 -0.0009630 -0.0009278 -0.0008910 -0.0008527 |
0.0000295 0.0000316 0.0000333 0.0000352 0.0000368 0.0000383 |
0.0000021 0.0000017 0.0000019 0.0000014 0.0000015 |
-0.0000004 0.0000002 -0.0000005 0.0000001
|
Т а б л и ц а 2
|
Эверетта |
||
|
|
|
|
|
0 1 2 |
0.52000 -0.06323 0.01179 |
0.82273695 -0.0009278 0.0000014 |
|
0 1 2 |
0.48000 -0.06157 0.01160 |
0.8075238 -0.0008910 0.0000015 |
|
|
Все вычисления по формуле Эверетта представлены в табл. 2.
Все необходимые значения разностей(и
самой функции, которые мы в табл. 2
обозначили как разности нулевого порядка
)
взяты из табл. 1. Первые три строки в
табл. 2 заполнены значениями
для
и
,
а последующие три строки соответственно
значениями
для
и
.
Перемножив (не снимая промежуточных
результатов) коэффициенты
на расположенные в той же строке
,
мы и получим искомое значение функции
,
как сумму произведений
Проверка производится непосредственно
при помощи степенного ряда для
рассматриваемой функции Эверетта
согласно которому получим
ГЛАВА №2
MAIN

















Заключение
Удалось построить интерполяционный многочлен и вычислить по нему значение функции для заданного значения аргумента. Составлена блок схема алгоритма и программа на языке С++ (Приложение) для вычисления заданного интерполяционного многочлена. В программе предусмотрена возможность ввода любого числа значений функции для чего организованно хранение ее значения при помощи линейного списка.
Список литературы
Архангельский Н.А. Вычислительные методы алгебры в приемах и задачах. М.: МАИ, 1976.
Васильев Ф.П. Численные методы решения экстремальных задачь. М.: Наука,1988.
Васильков Ф.В., Василькова Н.Н. Компьютерные технологии вычислений в математическом моделировании: Учеб. Пособие. М.: Финансы и статистика, 1999.
Фильчаков П.Ф., Справочник по высшей математике. Киев: Наукова думка, 1974.
Фильчаков П.Ф., Численные методы. Киев: Наукова думка, 1976.
Большая математическая энциклопедия. М.: Олма-Пресс, 2004
Демидович Б.П., Марон И.А. Основы вычислительной математики. М.: Наука, 1970.
Тихонов А.Н., Вводные лекции по прикладной математике. М.: Наука, 1984.
Калиткин Н.Н., Численные методы. М.: Наука, 1987.
Корн Г., Корн Т. Справочник по математике. М.: Наука, 1984.
3.05 63.96 3.15 44.39 3.25 51.20 3.35 58.44 3.45 50.15 3.55 44.51 3.65 47.25 3.75 35.24 3.85 43.28































































