Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Оренбургский государственный педагогический университет»
Физико-математический факультет
Кафедра информатики
и методики преподавания информатики
Курсовая работа
по дисциплине «Прикладное программное обеспечение»
Численная интерполяция средствами Mathcad
Специальность: 230401.65 Прикладная математика
Форма
обучения: дневная
Юртаевой Ирины Владимировны
Научный руководитель:
Полищук
О.Б., к.п.н., доцент
Оренбург 2013
ОГЛАВЛЕНИЕ
Введение
Глава 1. Основные понятия численного интерполирования
.1 Постановка задачи в численной интерполяции
.2 Основные методы
.2.1 Интерполяционный многочлен Лагранжа
.2.2 Интерполяционная формула Ньютона
.2.3 Интерполяция сплайнами
Глава 2. Практическая реализация методов в среде MathCad
.1 Общие сведения о среде MathCad
.2 Средства MathCad для интерполяции
.3 Примеры
Заключение
Список использованной литературы
ВВЕДЕНИЕ
Актуальность проделанной работы состоит в том, что система MathCad - современный программный продукт, который может оказать существенную помощь при выполнении решения определенной практической задачи на основе заданных данных.
Объект: прикладное программное обеспечение.
Предмет: реализация численного интерполирования в среде MathCad.
Цель: изучить возможности математического пакета MathCad.
Задачи:
1) Провести обзор научно - методической литературы по теоретическим аспектам интерполяции и практической реализации методов в среде MathCad.
) Рассмотреть практическую реализацию численного интерполирования в среде MathCad.
Глава
1. ОСНОВНЫЕ ПОНЯТИЯ ЧИСЛЕННОГО ИНЕТЕРПОЛИРОВАНИЯ
1.1 Постановка
задачи численной интерполяции
Основная задача численной интерполяции заключается в нахождении значений таблично заданной функции в тех точках внутри данного интервала, где она не задана. Можно рассчитать искомое значение исходной функции в любой точке.
Рассматриваются основные проблемы постановки:
) Выбор интерполяционной функции F(x)
) Оценка погрешности интерполяции R(x)
Специальные методы интерполяции позволяют определить искомое значение функции без непосредственно прямого построения интерполяционной функции. В принципе, все интерполяционные методы, базирующиеся на использование в качестве интерполяционной функции полиномов, дают одни и те же результаты, на с разными затратами. Это объясняется тем, что полином n, содержащий n+1 параметр не проходящий через все заданные N+1 точки - единственный ряд Тейлора, в который расположена исходная дифференцируемая функция.
Это одно из главных достоинств полинома как интерполяционной функции. Поэтому чаще первая проблема интерполяции решается выбором в качестве интерполяционной функции именно полинома, хотя могут применяться другие функции «например, тригонометрические полиномы, другие функции выбранные из неформальных условий содержательной задачи». Выбор вида интерполяционной функции является в общем случае важной задачей, особенно если помнить, что через заданные точки можно провести любое количество функций (рис.1).
Следует отметить, что существует очевидный
способ построения интерполяционной функции: из условий прохождения функций
через все точки составляется система уравнений из решения которой находится ее
параметры. Однако этот путь далеко не эффективный, особенно при большом числе
точек.
1.2 Основные методы
.2.1 Интерполяционный многочлен Лагранжа
Случай глобальной интерполяции, т.е.
построение интерполяционного многочлена, единого для всего отрезка ![]()
. При этом, естественно, график
интерполяционного многочлена должен проходить через все заданные точки.
Запишем искомый многочлен в виде
Из условий равенства значений этого
многочлена в узлах ![]()
соответствующим заданным табличным
значениям ![]()
получим следующую систему уравнений
для нахождения коэффициентов ![]()
Можно показать, что эта система
имеет единственное решение, если среди узлов интерполяции нет совпадающих, т.е.
если ![]()
при ![]()
Решив эту систему, найдем
коэффициенты интерполяционного многочлена (1). Заметим вместе с тем, что такой
путь построения интерполяционного многочлена требует значительного объема вычислений,
особенно при большом числе узлов. Существуют более простые алгоритмы построения
интерполяционных многочленов.
Будем искать многочлен в виде
линейной комбинации многочленов степени n:
При этом потребуем, чтобы каждый
многочлен ![]()
обращался в нуль во всех узлах
интерполяции, за исключением одного (i - го), где
он должен равняться единице. Легко проверить, что этим условиям отвечает
многочлен вида
Действительно, ![]()
при ![]()
. При ![]()
числитель выражения (4) обращается
в нуль. По аналогии с (4) получим
Подставляя в (3) выражения (4), (5),
находим
Эта формула называется интерполяционным многочленом Лагранжа.
Покажем, что этот многочлен является
единственным. Допустим противоположное: пусть существует еще один многочлен ![]()
степени ![]()
принимающий в узлах интерполяции
заданные значения, т.е. ![]()
Тогда разность ![]()
являющаяся многочленом степени ![]()
(или ниже), в узлах ![]()
равна
Это означает, что многочлен ![]()
степени не больше ![]()
имеет ![]()
корней. Отсюда следует, что ![]()
и ![]()
Из формулы (6) можно получить выражения
для линейной (![]()
и квадратичной (![]()
интерполяций:
1.2.2 Интерполяционная формула Ньютона
До сих пор не делалось никаких
предположений о законе распределения узлов интерполяции. Теперь рассмотрим
случай равностоящих значений аргумента, т.е. ![]()
Величина ![]()
называется шагом.
Введем также понятие конечных
разностей. Пусть известны значения функций в узлах ![]()
Составим разности значений функции:
Эти значения называются первыми разностями (или разностями первого порядка) функции.
Можно составить вторые разности
функции:
Аналогично составляются разности
порядка ![]()
Конечные разности можно выразить
непосредственно через значения функции. Например,
Аналогично для любого ![]()
можно записать
Эту формулу можно записать и для
значения разности в узле ![]()
Используя конечные разности, можно
определить ![]()
Перейдем к построению
интерполяционного многочлена Ньютона. Этот многочлен будем искать в следующем
виде:
График многочлена должен проходить
через заданные узлы, т.е. ![]()
![]()
. Эти условия используем для
нахождения коэффициентов многочлена:
Найдем отсюда коэффициенты ![]()
Аналогично можно найти и другие
коэффициенты. Общая формула имеет вид
Подставляя эти выражения в формулу
(9), получаем следующий вид интерполяционного многочлена Ньютона:
Конечные разности ![]()
могут быть вычислены по формуле
(7).
Формулу (10) часто записывают в
другом виде. Для этого вводится переменная ![]()
тогда
С учетом этих соотношений формулу
(10) можно переписать в виде
Полученное выражение может
аппроксимировать заданную функцию ![]()
на всем отрезке изменения аргумента
![]()
. Однако более целесообразно (с
точки зрения повышения точности расчетов и уменьшения числа членов в (11)
ограничиться случаем ![]()
, т.е. использовать формулу (11) для
![]()
Для других значений аргумента,
например для ![]()
вместо ![]()
лучше взять значение ![]()
. Таким образом, интерполяционный
многочлен Ньютона можно записать в виде