Научная статья на тему 'Методика проведения лабораторной работы по теме "Интерполирование кубическими сплайнами" в курсе численных методов'

Методика проведения лабораторной работы по теме "Интерполирование кубическими сплайнами" в курсе численных методов Текст научной статьи по специальности «Математика»

CC BY
180
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЧИСЛЕННЫЕ МЕТОДЫ / ТОЧНОСТЬ РАСЧЕТОВ / МЕТОДИЧЕСКИЕ РАСЧЕТЫ / ИНТЕРПОЛИРОВАНИЕ / СПЛАЙНЫ

Аннотация научной статьи по математике, автор научной работы — Федотов Анатолий Александрович, Храпов Павел Васильевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Methodology of carrying out laboratory work on a theme "Interpolation of the Cubic Splines" in the course of Numerical Methods

In this paper for a lab, "Interpolation of functions in E-cubic splines", the technique of carrying out laboratory work on the course "Chis-numerical methods", based on the methodology for calculation of nested grids to solve the problem with a given accuracy. The formulation of the problem, the definition of a spline conclusion is tridiagonal system of linear algebraic equations (which can be solved by the sweep method) to find the coefficients of the cubic spline. Is fractional, the case of a uniform grid. Explains the need to use specific boundary conditions, for example, the condition that the second derivative of the spline, to obtain a closed system of equations. The substantiation of the convergence process, cubic spline interpolation and error estimation is given. A technique for carrying out the laboratory work, methodical calculation algorithm, the method of choosing the step of condensation of the grid is offered. An example of approximation to the interpolation of cubic spline is given. It is shown that for the successful development of numerical methods for students to conduct laboratory work on the methodologies to by means of the test methodology to control the accuracy of the calculations and find numerical solutions of these problems in the work with a given accuracy.

Текст научной работы на тему «Методика проведения лабораторной работы по теме "Интерполирование кубическими сплайнами" в курсе численных методов»

УДК 378.147

Методика проведения лабораторной работы по теме «Интерполирование кубическими сплайнами» в курсе численных методов

© А. А. Федотов, П.В. Храпов МГТУ им. Н.Э. Баумана, Москва, 105005, Россия

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

Ключевые слова: численные методы, методические расчеты, точность расчетов, интерполирование, сплайны

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

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

Постановка задачи. Пусть на отрезке [а, Ь] определена некоторая функция / (х), однако полная информация о ней отсутствует. Известны только ее значения в узловых точках сетки шй., введенной на [а, Ь]:

={а = хо < х1 < .. < Х- < X+1...хп = (1)

где хг, г = 0, 1,..., п и к1 = х1 -х1 _1? г = 1, 2,..., п — узловые точки и шаги сетки соответственно.

Требуется по известным значениям /г = /(х1), г = 0,1,..., п построить на отрезке [а, Ь] функцию 5(х), достаточно близкую к /(х). Функцию /(х) принято называть интерполируемой, 5(х) — интерполирующей функцией, а точки хг — узлами интерполяции.

Поставленную в общей форме задачу о приближении функций будем решать с помощью интерполяционного кубического сплайна [1-4].

Построение интерполяционного кубического сплайна. Назовем отрезок [хг-1, хг], г = 1, 2,..., п, г-м частичным отрезком.

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

1) на каждом частичном отрезке [хг-1, хг], г = 1, 2,..., п функция я (х) является многочленом третьей степени;

2) я (х), я'( х) и я" (х) являются непрерывными функциями на отрезке [а, Ь];

3) выполнены условия интерполирования: я(хг) = /1, г = 0,1,..., п (рисунок).

Интерполирование функции / (х)

На каждом из частичных отрезков [хг-1, хг ] сплайн будем искать в виде

я1 (х) = аг + Ь{ (х - хг-1) + С (х - хг-1 )2 + йг (х - хг-1 )3, (2)

х е [хг-1, хг], г = 1, 2,..., п.

Из условия непрерывности в узлах сплайна, его первых и вторых производных получаем

Я (Хг ) = Si+l(xi X г = ^ п - 1; (3)

я-(х-) = я'+1(Хг), г = 1,2,..., п -1; (4)

<(Хг) = ^(Хг), - = 1,2,..., П - 1. (5)

Кроме условий (3)-(5), которые должны выполняться во внутренних узловых точках сетки (1), на концах отрезка [а, Ь] также должны выполняться дополнительные условия [3, 4]:

<( х о) = 0, < (Хп) = 0. (6)

Из (2) (см. рисунок) имеем я(хм) = а1 = /-Ь г = 1,2,..., п, и

Я+1(Хг ) = аг +1 = /г, - = 0 1, п - 1.

Отсюда и из (3) получаем

и, + ьа + еМ + йА = , г = 1,2,..., п. (7)

Найдем первую и вторую производные функции (2):

Я'г (X) = Ь + 2Сг (X - Хг-! ) + 3^ (X - Хгч)2,

я"(х) = 2е, + 6йг(х - х--1), Х е [Хг-!, Хг ], г = 1,2,..., п.

Отсюда и из условий (4) и (5) следует

Ь + 2егИг + 3йА = Ьг+1, г = 1,2,..., п -1, (8)

2Сг + 6йгИг = 2ем, г = 1,2,..., п -1. (9)

Дополнительные условия (6) приводят к соотношениям

е1 = 0, 2е„ + 6йпИп = 0. (10)

Формальное введение еще одного неизвестного еп+1, которое при этом будем считать равным нулю, позволяет из (9) и второго равенства (10) получить выражения для определения коэффициентов сплайна

= , г = 1,.., п. (11)

3Иг

Из (7) следует

Ьг = -еА -йМ, г = 1,..., п.

Аг

После подстановки в последнее выражение получаем

Ь = -hr(2c1 + ci+1), i = 1,..., л. (12)

h 3

Подставим (12) в (8):

/i - h (2c. + ci+i) + 2ch + 3d,h,2 =

h 3

(2Ci+1 + Ci+2X . = П - 1.

fi+1 fi hi+1

hi+1 3

Используя (11), находим

fi fi-1-h (2c. + c.+1) + 2cihi + 3(ci+ ^^^h

h 3 3h.

(2Ci+1 + Ci+2), . = n-1.

./i+1 ,/i hi+1

После преобразований получим систему линейных алгебраических уравнений с трехдиагональной матрицей относительно коэффициентов с1, которую можно решить методом прогонки [1-3]:

hiCi + 2(hi + hi+1)ci+1 + hi+1Ci+2 = 3

/ - / / - /

J i +1 У i _ J i J i-1

v hi+1 hi У

i = 1, 2,..., n -1;

C1 = 0, Cn+1 = 0.

(13)

Замечание. Из условий интерполирования и гладкости сплайна (3)—(5) получаются (4n -2) уравнения для определения 4n коэффициентов ai, bt, Ci, dt, i = 1,..., n (см. (2)). Для получения замкнутой системы уравнений используются те или иные граничные условия, например условия равенства нулю второй производной сплайна s( x) (6) (см., например, [3-6]).

Случай равномерной сетки. Если узлы равноотстоящие, то hi = h = const, h = (b - a)/n и система (13) упрощается:

Cl + 4Ci+1 + c,+2 = 3| 1-2/- + /i+1 |, i = 1,2,..., n-1; < i+1 i+2 ^ h2 у ' ' ' ' (14)

C1 = 0, Cn+1 = 0.

Остальные коэффициенты находятся по формулам

a, = f, -l,

b = - ^(2c, + Ci+1), (15)

h 3

= г = 1,2 п.

г 3И

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

Пусть (х) — интерполяционный кубический сплайн, построенный для функции /(х) на отрезке [а, Ь] с равноотстоящими узлами, т. е. (а + гИ) = /(а + гИ), И = (Ь - а)/п, г = 0,1,..., п. Необходимо, чтобы на отрезке [а, Ь] функция /(х) имела непрерывные производные до четвертого порядка включительно: /(х) е С(4)[а,Ь]. Тогда имеет место следующая теорема [1].

Теорема. Для функции /(х) е С(4)[а, Ь] справедливы оценки

II/(Х) - ЯИ (Х)||С[а,Ь] < М4И4, \\/"(х) - ЯИ (Х)||С[а,Ь] < М4И3,

II/' ( Х ) - ( Х )|| с [а ь < М4И 2, М4 = || / (4)( Х )|| с [ ^ где Ц^(х)|| = тах |g(х)| — норма, введенная в линейном про-

II IIе [ а,Ь] [ а, ь]

странстве непрерывных функций на отрезке [а, Ь], g(х) е С[а, Ь].

Из этих оценок следует, что при И ^ 0 (т. е. при п ^ж) последовательности (х), (х), я"и (х) сходятся соответственно к функциям /(х), /"(х), /"(х).

Методика проведения лабораторной работы. Для восстановления функции / (х) с заданной точностью необходимо путем методических расчетов подобрать шаг сетки.

Алгоритм методических расчетов состоит в следующем. Для оценки качества восстановления функции / (х) с помощью сплайна необходимо взять известную функцию, построить таблицу значений / = /(а + И) этой функции, заданной на отрезке [а, Ь], с шагом И = (Ь - а)/п и построить интерполяционный сплайн. Для сравнения значений = /(а + гИ) и необходимо выбрать контрольные точки, в качестве которых можно взять середины частичных отрезков первоначального разбиения (например, п = 5 ). Узловые точки в качестве контрольных точек не могут быть использованы, поскольку по этим значениям строится сплайн.

Далее число разбиений увеличиваем на 5, строим сплайн и вычисляем значения сплайна в серединах новых частичных отрезков.

Среди 25 точек нового разбиения окажутся все контрольные точки, которые необходимо только отобрать, чтобы провести сравнение с предыдущим расчетом. Если сравнение оказалось неудовлетворительным, то сгущение сетки нужно продолжать, увеличив число разбиений отрезка еще на 5. При этом число точек текущего разбиения будет равно 125, среди которых вновь окажутся все точки первоначального разбиения, т. е. все контрольные точки. Сгущение сетки следует продолжать до тех пор, пока значения сплайна в контрольных точках не перестанут зависеть от числа разбиения отрезка [а, Ь] (например, с точностью до четырех значащих цифр после запятой). Результаты вычислений с последним числом разбиений необходимо взять в качестве результатов расчетов, которые необходимо сравнить с точными значениями функции /(х).

Замечание. В качестве шага сгущения сетки можно взять любое нечетное число: 3, 7, 9 и т. д.

В силу изложенного выше предлагается следующая последовательность выполнения лабораторной работы [7-9]:

1. Провести вычисления при п = 5, 25, 125 .

2. Построить таблицу значений = /(а + ¡к) функции /(х), заданной на отрезке [а, Ь] с шагом к = (Ь - а)/п .

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

4. Вычислить значения сплайна и заданной функции в серединах получившихся отрезков, т. е. в точках хы = а + (/' -0,5)к, 1 = 1, 2,..., п.

5. Оформить таблицу, столбцами которой являются:

а) координаты контрольных точек: хы = а + (/' - 0,5)к, к =

б) значения заданной функции в контрольных точках = / (хс1),

(Ь - а)/5; 1 = 1, 2, 3, 4, 5;

1 = 1, 2, 3, 4, 5;

в) значения сплайна в контрольных точках: при п = 5

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

, 1 = 1, 2, 3, 4, 5;

при п = 25

^=/-1+-2-

+ I

2 4 8

1 = 3 + 57, ] = 1, 2, 3, 4, 5;

при п = 125

ЬИ еИ2 йИИ . „„ . . „^„„^

Яг = /-1 + + + , г = 13 + 25], ] = 1,2,3,4,5.

2 4 8

6. Если результаты расчетов окажутся неудовлетворительными, то сгущение сетки следует продолжить: необходимо провести расчеты с числом разбиений п = 625 и вычислить значения сплайна , г = 63 +125], ] = 1, 2, 3, 4, 5.

В пунктах 5 и 6 значения индекса «г» означают номера частичных отрезков соответствующих разбиений, середины которых являются контрольными точками.

Пример. В качестве примера рассмотрим функцию /(х) = вх на отрезке [0; 2,5]. Результаты расчетов приведены в таблице. Расчеты показывают, что при п = 125 с точностью до пяти значащих цифр после запятой значения интерполяционного кубического сплайна совпадают со значениями функции / (х) = вх.

х х), п = 5 х), п = 25 х), п = 125 / (х)

0,25 1,29592 1,28406 1,28403 1,28403

0,75 2,11100 2,11700 2,11700 2,11700

1,25 3,50043 3,49034 3,49034 3,49034

1,75 5,71693 5,75460 5,75460 5,75460

2,25 9,62283 9,48813 9,48774 9,48774

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

ЛИТЕРАТУРА

[1] Самарский А.А., Гулин А.В. Численные методы. Москва, Наука, 1989,

432 с.

[2] Амосов А.А., Дубинский Ю.А., Копченова Н.В. Вычислительные методы.

Москва, Издательский дом МЭИ, 2008, 672 с.

[3] Костомаров Д.П., Фаворский А.П. Вводные лекции по численным методам.

Москва, Университетская книга, Логос, 2006, 184 с.

[4] Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. Москва,

Лаборатория Базовых Знаний, 2002, 632 с.

[5] Волков Е.А. Численные методы. Москва, Наука, 1987, 248 с.

[6] Самарский А. А., Вабищевич П.Н., Самарская Е.А. Задачи и упражнения по численным методам. Москва, Едиториал УРСС, 2003, 208 с.

[7] Блюмин А.Г., Гусев Е.В., Федотов А.А. Численные методы. Москва, Изд-во МГТУ им. Н.Э. Баумана, 2002, 48 с.

[8] Кокотушкин Г. А., Федотов А. А., Храпов П.В. Численные методы алгебры и приближения функций. Москва, Изд-во МГТУ им. Н.Э. Баумана, 2011, 58 с.

[9] Федотов А.А., Храпов П.В. Численные методы. Метод. указания к выполнению лабораторных работ по курсу « Численные методы». Москва, Изд-во МГТУ им. Н.Э. Баумана, 2012, 141 с. http://wwwcdl.bmstu.ru/fn1.

Статья поступила в редакцию 28.06.2013

Ссылку на эту статью просим оформлять следующим образом:

Федотов А. А., Храпов П.В. Методика проведения лабораторной работы по теме «Интерполирование кубическими сплайнами» в курсе численных методов. Инженерный журнал: наука и инновации, 2013, вып. 5. URL: http://engjournal.ru/ catalog/pedagogika/hidden/748.html

Федотов Анатолий Александрович родился в 1954 г., окончил МГУ им. М.В. Ломоносова в 1977 г. Канд. физ.-мат. наук, доцент кафедры «Высшая математика» МГТУ им. Н.Э. Баумана. Автор более 55 научных работ в области прикладной математики и механики. Сфера научных интересов: численные методы, уравнения математической физики.

Храпов Павел Васильевич родился в 1959 г., окончил МГУ им. М.В. Ломоносова в 1981 г. Канд. физ.-мат. наук, доцент кафедры «Высшая математика» МГТУ им. Н.Э. Баумана. Автор более 40 научных работ в области прикладной математики и механики. Сфера научных интересов: модели статистической физики и квантовой теории поля, численные методы, функциональный анализ, анализ временных рядов, распознавание образов, финансовая математика.

i Надоели баннеры? Вы всегда можете отключить рекламу.