Некоторые дополнительные вычислительные методы
Министерство образования и науки РФ
ГОУ ВПО “УГТУ-УПИ”
Курсовая работа
по “Вычислительной математике”
на тему: “Некоторые дополнительные вычислительные методы”
Семестр № 3
Преподаватель Кочнев В.П.
Студент гр. № р-23021д Логиновских М.А.
Номер зачетной книжки 17309013
Екатеринбург
2004
_____________________________________________________________________________
Домашнее задание по ________________________________ № ________________
№ записи в книге регистрации __________________ дата регистрации ___________200_г.
Преподаватель _________________________________________
Студент _________________________________________ группа № ________________
Деканат ФДО _______________
СОДЕРЖАНИЕ
1. Решение систем линейных уравнений …………………………………………………… 3
а) Схема Халецкого ……………………………………………………………………....... 3
б) Метод Зейделя и условия сходимости ………………………………………………… 5
2. Методы решения нелинейных уравнений ……………………………………………….. 6
а) Метод хорд ………………………………………………………………………………. 7
б) Метод Ньютона (метод касательных) …………………………………………………. 8
в) Метод итерации ………………………………………………………………………… 9
3. Интерполирование и экстраполирование ……………………………………………….. 11
а) Интерполирование с помощью многочленов ………………………………………… 11
б) Интерполяционный многочлен Лагранжа ……………………………………………. 12
в) Интерполяционные многочлены Стирлинга и Бесселя ……………………………… 13
г) Тригонометрическое интерполирование …………………………………….………... 15 д) Интерполяция сплайнами ……………………………………………………..………... 15
4. Численное дифференцирование и интегрирование ……………………………….…….. 16
а) Постановка задачи численного интегрирования ……………………………………... 16
б) Составные квадратурные формулы ………………………………………………….… 17
5. Приближенное вычисление обыкновенных дифференциальных уравнений ………….. 18
а) Метод Рунге-Кутта ……………………………………………………………………… 18
б) Экстраполяционные методы Адамса ………………………………………………….. 20
в) Метод Милна ……………………………………………………………………………. 20
г) Краевые задачи для обыкновенных дифференциальных уравнений ………………... 21
6. Приближенные методы решения дифференциальных уравнений с частными производными ………………………………………………………………………………… 21
а) Классификация дифференциальных уравнений второго порядка …………………… 22
б) Постановка краевых задач ……………………………………………………………… 23
в) Метод конечных разностей (метод сеток) …………………………………………….. 24
г) Разностные схемы для решения уравнения теплопроводности ……………………… 25
д) Разностные схемы для решения уравнения колебания струны ……………………… 26
7. Список литературы ………………………………………………………………………… 27
1. Решение систем линейных уравнений
Системы линейных уравнений (СЛУ) имеют в вычислениях очень большое значение, так как к ним может быть приведено приближенное решение широкого круга задач. Так, основными источниками возникновения СЛУ являются теория электрических цепей, уравнения балансов и сохранения в механике, гидравлике и т.д. Существует несколько способов решения таких систем, которые в основном делятся на два типа: 1) точные методы, представляющие собой конечные алгоритмы для вычисления корней системы, 2) итерационные методы, позволяющие получать корни системы с заданной точностью путем сходящихся бесконечных процессов. Заметим, что даже результаты точных методов являются приближенными из-за неизбежных округлений. Для итерационных процессов также добавляется погрешность метода.
Пример системы линейных уравнений:
Или в матричном виде: ,
где матрица коэффициентов системы;
- вектор неизвестных; - вектор свободных членов.
Схема Халецкого
Запишем систему линейных уравнений в матричном виде: ,
где A=[aij] – квадратная матрица порядка n и
- векторы-столбцы.
Представим матрицу A в виде произведения нижней треугольной матрицы B=[bij] и верхней треугольной матрицы C=[cij] с единичной диагональю , где
и .
Тогда элементы bij и cij определяются по формулам
и
Отсюда искомый вектор x может быть вычислен из уравнений и .
Так как матрицы B и C – треугольные, то системы легко решаются:
и
Из этих двух формул видно, что числа yi выгодно вычислять вместе с коэффициентами cij. Этот метод получил название схемы Халецкого. В схеме применяется обычный контроль с помощью сумм. Если матрица A – симметрическая aij=aji, то
Пример. Решить систему
Решение.
В первый раздел таблицы впишем матрицу коэффициентов системы, ее свободные члены и контрольные суммы. Далее так как
Имеем:
Переходим к заполнению второго столбца раздела II, начиная со второй строки. Пользуясь формулами, определяем
Далее определяя по формулам, заполняем вторую сетку для раздела II:
Затем переходим к третьему столбцу, вычисляя его элементы и по формулам и т.д., пока не будет заполнена вся таблица раздела II. Таким образом, заполнение раздела II происходит способом “елочки”: столбец - строка, столбец - строка и т.д.
В разделе Ш, пользуясь формулами, определяем и
Текущий контроль осуществляется с помощью столбца ∑, над которым производятся те же действия, что и над столбцом свободных членов.
I |
3 |
1 |
-1 |
2 |
6 |
11 |
||||||
I |
-5 |
1 |
3 |
-4 |
-12 |
-17 |
||||||
I |
2 |
0 |
1 |
1 |
1 |
3 |
||||||
I |
1 |
-5 |
3 |
3 |
3 |
-1 |
||||||
II |
3 |
0.333333 |
-0.333333 |
2 |
2 |
3.666667 |
||||||
II |
-5 |
2.666667 |
-0.25 |
0.25 |
-0.75 |
0.5 |
||||||
II |
2 |
-0.666667 |
2 |
-1.25 |
-1.75 |
-2 |
||||||
II |
1 |
-5.333333 |
6 |
2.5 |
3 |
4 |
||||||
III |
2 |
1 |
||||||||||
III |
-0.75 |
-1 |
||||||||||
III |
-1.75 |
2 |
||||||||||
III |
3 |
3 |
Метод Зейделя и условия сходимости
Этот метод представляет собой модификацию метода простой итерации. Его смысл заключается в том, что при вычислении (k+1)-го приближения неизвестной xi учитываются уже вычисленные ранее (k+1)-е приближения x1, x2, ..., xi-1. Пусть дана приведенная линейная система (i = 1, 2, …n). Выберем произвольно начальные приближения корней 1, x2, x3, ..., xn. Предположим, что k-е приближение корней известно, тогда в соответствии с идеей метода будем строить (k+1)–е приближение по следующим формулам:
Обычно процесс Зейделя сходится быстрее, чем метод простой итерации. Бывает, что процесс Зейделя сходится, когда простая итерация расходится и т.п. Правда, бывает и наоборот. Во всяком случае, достаточные условия сходимости для метода простой итерации достаточны и для сходимости метода Зейделя. То есть процесс итерации сходится, если выполнено одно из условий
1) или 2)
Пример. Методом Зейделя решить систему уравнений
Решение. Приведем эту систему к виду, удобному для итерации,
В качестве нулевых приближений корней возьмем:
Применяя процесс Зейделя, последовательно получим:
и т.д.
Результаты вычислений с точностью до четырех знаков помещены в таблице:
0 |
1,2000 |
0,0000 |
0,0000 |
1 |
1,2000 |
1 ,0600 |
0,9480 |
2 |
0,9992 |
1,0054 |
0,9991 |
3 |
0,9996 |
1.0001 |
1,0001 |
4 |
1 ,0000 |
1,0000 |
1,0000 |
5 |
1 ,0000 |
1,0000 |
1,0000 |
Точные значения корней:
2. Методы решения нелинейных уравнений
Как известно, далеко не всякое уравнение f(x)=0 можно решить точно, т.е. не всегда можно найти число такое что f(f(x)=0. Для этого существует множество методов некоторые, из которых мы рассмотрим.
Метод хорд
Пусть дано уравнение f(x)=0, где функция f(x) определена и непрерывна на интервале
[a, b] и f(a)f(b)<0. Пусть для определенности f(a)<0 и f(b)>0. Разделим отрезок [a, b] в отношении - f(a):f(b). Это даст нам приближенное значение корня x1 = a + h1, где
Далее этот прием применяем к одному из отрезков [a, x1] или [x1, b], на концах которого функция f(x) имеет противоположные знаки. Аналогично находим второе приближение x2 и т.д. Геометрически этот способ эквивалентен замене кривой y = f(x) хордой, проходящей через точки А[a, f(a)] и B[b, f(b)].
y |
y |
A |
B |
f(b)
|
|
|
f(b)
A |
B |
Рис. 1. Рис. 2. |
Действительно, уравнение хорды АВ имеет вид
При х = х1 и y = 0, получим
Полагая, что на отрезке [a, b] вторая производная f''(x) сохраняет постоянный знак, метод хорд сводится к двум различным вариантам.
Из рис. 1 видно, что конец а неподвижен и последовательные приближения: x0=b;
образуют ограниченную монотонно убывающую последовательность, причем a<ξ<…<xn+1<xn<…<x1<x0.
Из рис. 2 видно, что неподвижен конец b и последовательные приближения: x0=a;
образуют ограниченную монотонно возрастающую последовательность, причем
x0<x1<x2<…<xn<xn+1<…<ξ<b.
Таким образом, для вычисления корня уравнения имеем две различные вычислительные формулы. За неподвижный конец выбираем тот конец, для которого знак функции f(x) совпадает со знаком второй производной f''(x).
Пример. Найти положительный корень уравнения с точностью до 0,002.
Решение. Прежде всего отделяем корень. Так как и лежит в интервале то Последовательно применяя формулы, будем иметь:
Так как и при имеем
Таким образом,
Метод Ньютона (метод касательных)
Пусть корень ξ уравнения f(x)=0, отделен на отрезке [a, b], причем первая и вторая производные f'(x) и f''(x) непрерывны и сохраняют определенные знаки при n+hn, где hn - величина малая. Отсюда по формуле Тейлора получим: f(xn + hn) ≈ f(xn)+hn f¢(xn)=0. Следовательно, n+hn, найдем следующее значение корня:
0 f(a) x2 x1 x |
A |
B0 |
y |
b=x0 x1’ |
a ξ |
B1 |
Рис. 3. |
Если в качестве начального приближения выбрать точку х0=В0 , то процесс быстро сходится. Если же выбрать точку х0=А, то х10 выбирать такую точку, где f(x0)f''(x0)>0.
Пример. Вычислить методом Ньютона отрицательный корень уравнения
с пятью верными знаками.
Решение. Полагая в левой части уравнение получим находится в интервале то и и вычисляем по следующей схеме:
0 |
-11 |
3453 |
-5183 |
0,7 |
1 |
-10,3 |
134,3 |
-4234 |
0,03 |
2 |
-10,27 |
37,8 |
-4196 |
0,009 |
3 |
-10,261 |
0,2 |
- |
- |
Останавливаясь на и любое из этих чисел дает искомое приближение.
Метод итерации
Заменим уравнение f(x)=0 эквивалентным x=φ(x). Выберем некоторое начальное приближение x0 и вычислим дальнейшие приближения по формулам x1= φ(x0), x2= φ(x1), …, xn= φ(xn-1). Если последовательность xn имеет предел, то итерационный процесс
xn= φ(xn-1) (n=1, 2, …) называется сходящимся. Пусть функция φ(x) непрерывна. Переходя к пределу в равенстве xn= φ(xn-1), получим
Следовательно, является корнем уравнения x=φ(x) и может быть вычислен по формуле xn= φ(xn-1) (n=1, 2, …) с любой точностью. Для данного метода существуют две теоремы:
Теорема 1. Пусть корень уравнения x=φ(x), а также его последовательные приближения x0, xn= φ(xn-1) (n=1, 2, …) содержатся в интервале [a, b] и на [a, b]. Тогда справедливы утверждения:
- итерационный процесс xn= φ(xn-1) сходится к корню уравнения
- ;
- .
Следствие 1. Если требуется найти корень с точностью ε, то кончаем итерационный процесс тогда, когда
Следствие 2. Так как =φ(xn-1), то xn= φ(xn-1). По теореме Лагранжа x)>0 на (a, b), то последовательные приближения xn= φ(xn-1) (n=1, 2, …) сходятся к корню монотонно; если φ'(x)<0 на (a, b), то последовательные приближения колеблются около корня.
Теорема 2. Если на [a, b], а корень и начальное приближение x0 находятся на более узком отрезке [α, β], где
Привести уравнение f(x)=0 к виду x=φ(x) таким образом, чтобы получить сходящийся итерационный процесс, можно различными способами. Рассмотрим два из них:
1) уравнение f(x)=0 равносильно при λ≠0 уравнению λf(x)=0 и уравнению x= λf(x)+x. Обозначим λf(x)+x через φ(x), получим x= φ(x). Параметр λ подберем так, чтобы функция φ'(x)= λf'(x)+1 на [a, b] была по модулю меньше единицы.
2) если x=φ(x) эквивалентным ему уравнением x=ψ(x), где ψ(x) – функция, обратная функции φ(x). Так как xn=ψ(xn-1) будет сходящимся.
Пример. Методом итерации найти корень уравнения 5x-8lnx=8 с точностью 0,01.
Решение. Запишем уравнение в виде и построим соответствующие графики:
Уравнение имеет два корня: z0=0,5 и x0=3,5. Для уточнения запишем
Следовательно, итерационный процесс сходится. Погрешность оценим по формуле
n |
x |
1+lnx |
||
0 1 2 3 4 |
3,5 3,605 3,651 3,672 3,682 |
2,253 2,282 2,295 2,301 |
3,605 3,651 3,672 3,682 |
------ 0,105 0,046 0,021 0,010 |
Так как φ’(z0)≈3>1, то итерационный процесс расходится. Найдем функцию x). Так как будет сходится.
n |
zn |
|||
0 1 2 |
0,5 0,503 0,503 |
-0,688 -0,686 ------ |
0,503 0,504 ------ |
------ 0,0015 0,0005 |
3. Интерполирование и экстраполирование
Задача интерполирования состоит в том, чтобы по значениям функции f(x) в нескольких точках отрезка восстановить ее значения в остальных точках данного отрезка. Разумеется, такая постановка задачи допускает сколь угодно много решений. Задача интерполирования возникает, например, в том случае, когда известны результаты измерений yk = f(xk) некоторой физической величины f(x) в точках xk, k = 0, 1,…, n и требуется определить ее значение в других точках. Интерполирование используется также при необходимости сгущения таблиц, когда вычисление значений f(x) по точным формулам трудоемко. Иногда возникает необходимость приближенной замены (аппроксимации) данной функции (обычно заданной таблицей) другими функциями, которые легче вычислить. При обработке эмпирических (экспериментальных) зависимостей, результаты обычно представлены в табличном или графическом виде. Задача заключается в аналитическом представлении искомой функциональной зависимости, то есть в подборе формулы, корректно описывающей экспериментальные данные.
Интерполирование с помощью многочленов
Пусть функциональная зависимость задана таблицей y0 = f(x0); …, y1= f(x1); …, yn = f(xn). Обычно задача интерполирования формулируется так: найти многочлен P(x) = Pn(x) степени не выше n, значения которого в точках xi (i = 0, 1 2,…, n) совпадают со значениями данной функции, то есть P(xi) = yi. Геометрически это означает, что нужно найти алгебраическую кривую вида проходящую через заданную систему точек Мi(xi, yi) (см. рис. 4). Многочлен Р(х) называется интерполяционным многочленом. Точки xi (i = 0, 1, 2,…, n) называются узлами интерполяции.
x0 x1 xn x |
y |
y = f(x) |
y = P(x) |
M0 |
Mn |
Рис. 4. |
Для любой непрерывной функции f(x) сформулированная задача имеет единственное решение. Действительно, для отыскания коэффициентов а0, а1, а2 ,…, аn получаем систему линейных уравнений определитель которой отличен от нуля, если среди точек xi (i = 0, 1, 2,…, n) нет совпадающих. Решение системы можно записать различным образом. Однако наиболее употребительна запись интерполяционного многочлена в форме Лагранжа или в форме Ньютона.
Интерполяционный многочлен Лагранжа
Пусть на отрезке [a,b] некоторая функция f(x) задана лишь в некоторых точках , т.е. известны ее значения , которые, собирают в таблицу:
x |
x0 |
x1 |
... |
xn |
f(x) |
y0 |
y1 |
... |
yn |
Кроме того, пусть задана некоторая точка . Построим по таблице следующий многочлен: .
Этот многочлен называется многочленом Лагранжа.
Его основные свойства:
1) ;
2) , т.е. многочлен Лагранжа имеет в точках те же значения, что и функция ;
3) если фиксировать любое число то окажется выполненным неравенство
где на участке , т.е. число ограничивает производную го порядка функции .
Сказанное означает, что если функция задана своей таблицей и требуется найти значение где-то в промежуточной точке c, то можно по таблице построить многочлен Лагранжа и его значение в этой точке принять за значение функции. Отыскание промежуточного значения функции называется интерполяцией; когда это делается с помощью многочлена Лагранжа, то говорят об интерполяционном многочлене Лагранжа или об интерполяции по Лагранжу.
Пример. Построить интерполяционный многочлен Лагранжа для функции заданной таблицей
x |
1 |
2 |
3 |
5 |
y |
1 |
5 |
14 |
81 |
И найти значение функции при x=4.
Решение. Используя формулу Лагранжа найдем:
После некоторых преобразований получим Тогда f(4)≈L3(4)=36,5.
Интерполяционные многочлены Стирлинга и Бесселя
Взяв среднее арифметическое первой и второй интерполяционных формул Гаусса
и
где
Легко видеть, что при
Кроме формулы Стирлинга, часто употребляется формула Бесселя. Для вывода этой формулы воспользуемся второй интерполяционной формулой Гаусса
Возьмем равностоящих узлов интерполирования с шагом — заданные значения функции
Если выбрать за начальные значения и
Примем теперь за начальные значения и и используем узлы на и увеличив индексы всех разностей на 1, получим вспомогательную интерполяционную формулу:
Взяв среднее арифметическое формул, после несложных преобразований получим интерполяционную формулу Бесселя
где
Интерполяционная формула Бесселя, как следует из способа получения ее, представляет собой полином, совпадающий с данной функцией в точках
Тригонометрическое интерполирование
Пусть функция f(х) представлена на некотором отрезке [0, 2p] таблицей значений f(хi) в
равноотстоящих узлах хi =2p(i-1)/(2N+1), i =1, 2, ..., 2N+1. Тогда тригонометрическим интерполирующим многочленом назовем многочлен степени m вида:
Задача тригонометрической интерполяции состоит в построении тригонометрического полинома, который бы наиболее полно удовлетворял условиям Рm (хi)= f(хi ) для любого i=1, 2, ..., 2 N+1.
Можно показать, что решением этой задачи является полином именно того вида, коэффициенты которого вычисляют по следующим формулам:
Интерполяция сплайнами
Пусть отрезок [a, b] разбит на n равных частей [xi, xi+1], где xi=a+ih, i=0, ..., n, xn=b,
h=(b-a)/n.
Сплайном называется функция, которая вместе с несколькими производными непрерывна на всем заданном отрезке [a, b], а на каждом частичном отрезке [xi, xi+1] в отдельности является некоторым алгебраическим многочленом.
Максимальная по всем частичным отрезкам степень многочленов называется степенью сплайна, а разность между степенью сплайна и порядком наивысшей непрерывной на [a,b] производной - дефектом сплайна.
На практике широкое распространение получили сплайны третьей степени, имеющие на [a, b] непрерывную, по крайней мере, первую производную. Эти сплайны называются кубическими и обозначаются S3(x).
Пусть на отрезке [a, b] в узлах сетки D заданы значения некоторой функции
fi =f(xi), i=0, ..., n.
Интерполяционным кубическим сплайном S3(x) называется сплайн
S3(x)=аi0 +аi1(x - xi)+аi2(x - xi)2 +аi3(x - xi)3, xÎ[xi, xi+1], удовлетворяющий условиям
S3(xi)=f(xi), i=0, ..., n.
Данный сплайн на каждом из отрезков [xi, xi+1], i=0, ..., n-1 определяется четырьмя коэффициентами, и поэтому для его построения на всем промежутке [a, b] необходимо определить 4n коэффициентов. Для их однозначного определения необходимо задать 4n уравнений.
Условие S3(xi)=f(xi), i=0, ..., n дает 2n уравнений, при этом функция S3(xi), удовлетворяющая этим условиям, будет непрерывна во всех внутренних узлах.
Условие непрерывности производных сплайна i, i=1, ..., n-1 сетки D дает 2(n-1) равенств.
Вместе получается 4N-2 уравнений.
Два дополнительных условия обычно задаются в виде ограничений на значение производных сплайна на концах промежутка [a, b] и называются краевыми условиями.
Наиболее употребительны следующие типы краевых условий:
а) S'3(а)=f'(а), S'(b)=f'(b);
б) S"3(а)=f"(а), S"(b)=f"(b);
в) ;
г) S'''3(x p+0)=S'''3(x p-0), р =1, n-1.
4. Численное дифференцирование и интегрирование
Если функция f(x) заданна аналитически ее первообразная F(x) является элементарной функцией, то вычисляется по формуле Ньютона-Лейбница: В тех случаях, когда функция f(x) задана аналитически, но ее первообразная не является элементарной функцией или отыскать ее сложно, а также в случае, когда функция f(x) задана графически или таблично, для вычисления применяются приближенные методы.
Постановка задачи численного интегрирования
Задача численного интегрирования функции заключается в вычислении определенного интеграла на основании ряда значений подынтегральной функции. Численное вычисление однократного интеграла называется механической квадратурой. Обычный прием механической квадратуры состоит в том, что данную функцию f(x) на рассматриваемом отрезке [a, b] заменяют интерполирующей или аппроксимирующей функцией φ(x) простого вида, а затем приближенно полагают: Функция φ(x) должна быть такова, чтобы интеграл вычислялся непосредственно. Если функция f(x) заданна аналитически, то ставится вопрос об оценке погрешности. Пусть для функции y=f(x) известны в n+1 точках x0, x1, x2, …, xn отрезка [a, b] соответствующие значения f(xi)=yi (i=0, 1, 2, …, n). Требуется приближенно найти По заданным значениям yi построим полином Лагранжа
Пn+1(x)=(x-x0)(x-x1)…(x-xn), причем Ln(xi)=yi (i=0, 1, 2, …, n). Заменяя функцию f(x) полиномом Ln(x), получим равенство где Rn[f] – ошибка квадратурной формулы. Отсюда получаем приближенную квадратурную формулу
где (i=0, 1, 2, …, n). Для вычисления Ai заметим, что
1) коэффициенты Ai при данном расположении узлов не зависят от выбора функции f(x);
2) для полинома степени n полученная формула – точная, так как тогда Ln(x)=f(x); следовательно, формула - точная при y=xk (k=0, 1, 2, …, n), т.е. Rn[xk]=0 при k=0, 1, …, n. Полагая y=xk (k=0, 1, 2, …, n), получим линейную систему из n+1 уравнений - где (k=0, 1, …, n), из которой можно определить коэффициенты A0, A1, …, An.
Составные квадратурные формулы
Приведем ряд простейших квадратурных формул, используемых в практике численного интегрирования функции f(x) на некотором интервале [a, b], разбитого на n равных отрезков точками a0=a, a1=a+h, a2=a+2h, …, an=a+nh+b, где n=0,1, …, k и Положим f(xn)=yn=f(a+nh).
Формула прямоугольников:
Погрешность формулы определяется выражением
где
Формула трапеций:
Погрешность формулы определяется выражением
где
Формула Симпсона: где
Погрешность формулы определяется выражением
где
Если длина интервала [a, b] велика для применения простейших квадратурных формул, то поступают следующим образом:
1) интервал [a, b] разбивают точками xi, на n интервалов по некоторому правилу;
2) на каждом частичном интервале [xi, xi+1] применяют простейшую квадратурную формулу, находят приближенное значение интеграла
3) из полученных выражений Qi составляют (отсюда и название составная формула) квадратурную формулу для всего интервала [a, b];
4) абсолютную погрешность R составной формулы находят суммированием погрешностей Ri на каждом частичном интервале.
5. Приближенное вычисление обыкновенных дифференциальных уравнений
Обыкновенным дифференциальным уравнением называется равенство , в котором - независимая переменная, изменяющаяся в некотором отрезке , а - неизвестная функция от , которую и надо найти. Различают два типа обыкновенных дифференциальных уравнений - уравнения без начальных условий и уравнения с начальными условиями. Уравнения без начальных условий - это как раз то, что было только что определено. А уравнение с начальными условиями - это записанное выше уравнение относительно функции , но в котором требуется найти лишь такую функцию , которая удовлетворяет при некотором следующим условиям:
, т.е. в точке функция и ее первые производных принимают наперед заданные значения. В этой ситуации число называется порядком уравнения.
Метод Рунге-Кутта
Изложим идею метода на примере:
Интегрируя это уравнение в пределах от x до x + h (0 < h <1), получим равенство которое посредством последнего интеграла связывает значения решения рассматриваемого уравнения в двух точках, удаленных друг от друга на расстояние шага h. Для удобства записи данного выражения используем обозначение ∆y=y(x+h)–y(x) и замену переменной интегрирования t=x+ah. Окончательно получим:
Указав эффективный метод приближенного вычисления интеграла в выражении , мы получим при этом одно из правил численного интегрирования уравнения
Постараемся составить линейную комбинацию величин ji, i = 0, 1, ..., q, которая будет являться аналогом квадратурной суммы и позволит вычислить приближенное значение приращения Dy: где
Метод четвертого порядка для q = 3, имеет вид где
Особо широко известно другое вычислительное правило Рунге-Кутта четвертого порядка точности: где
Метод Рунге-Кутта имеет погрешность четвертого порядка (~ h4 ).
Правило Рунге. Если приближенный метод имеет порядок погрешности m, то погрешность можно приближенно оценить по формуле
В формуле O(xi) – главный член погрешности, - приближенные решения в точке xi, найденные с шагом h и 2h соответственно.
Экстраполяционные методы Адамса
Широко распространенным семейством многошаговых методов являются методы Адамса. Простейший из них, получающийся при
Пусть найдены значения в четырех последовательных узлах можно взять многочлен Ньютона. В случае постоянного шага конечные разности для правой части в узле имеют вид
Тогда разностная схема четвертого порядка метода Адамса запишется в виде
Сравнивая метод Адамса с методом Рунге — Кутта той же точности, отмечаем его экономичность, поскольку он требует вычисления лишь одного значения правой части на каждом шаге. Но метод Адамса неудобен тем, что невозможно начать счет по одному лишь известному значению необходимые для вычисления в процессе счета; этого недостатка лишены одношаговые методы.
Метод Милна
Пусть на отрезке [a, b] требуется найти численное решение дифференциального уравнения с начальным условием a, b] на n равных частей точками h=(b-a)/n – шаг интегрирования. Используя начальные данные, находим каким-либо способом последовательные значения искомой функции y(x). Таким образом, становится известным и для следующих значений последовательно находятся по формулам Милна
– где
Абсолютная погрешность значения приближенно равна
Пример. Дано дифференциальное уравнение y’=y-x, удовлетворяющие начальному условию x0=0, y(x0)=1,5. Вычислить с точность до 0,01 значение решения этого уравнения при x=1,5.
Решение. Выберем начальный шаг вычисления. Из условия h4<0,01 получим h=0,25 Составим таблицу
i |
xi |
yi |
y’i=f(xi, yi)=yi-xi |
y'i= f(xi, yi)=yi-xi |
|
εi |
|
0 1 2 3 4 5 6 |
0 0,25 0,50 0,75 1,00 1,25 1,50 |
1,5000 1,8920 2,3243 2,8084 |
1,5000 1,6420 1,8243 2,0584 |
3,3588 3,9947 4,7402 |
2,3588 2,7447 3,2402 |
3,3590 3,9950 4,7406 |
7*10-5 10-5 1,4*10-5 |
Получаем ответ y=(1,5)=4,74.
Краевые задачи для обыкновенных дифференциальных уравнений
На практике приходится часто решать задачи, когда условия задаются при двух значениях независимой переменной (на концах рассматриваемого отрезка). Такие задачи, называемые краевыми, получаются при решении уравнений высших порядков или систем уравнений. Стандартная постановка краевой задачи для обыкновенных дифференциальных уравнений выглядит следующим образом
Общая классификация методов решения краевых задач: существуют точные, приближенные и численные методы.
6. Приближенные методы решения дифференциальных уравнений с частными производными
Кроме обычных дифференциальных уравнений существуют так называемые дифференциальные уравнения с частными производными. Далее они будут рассмотрены более подробно.
Классификация дифференциальных уравнений второго порядка
Рассмотрим уравнение второго порядка - функции и принадлежит гиперболическому типу, если в этой области принадлежит параболическому типу. Если
Уравнение называется каноническим уравнением гиперболического типа.
Уравнение называется каноническим уравнением параболического типа.
Уравнение
Дифференциальное уравнение называется уравнением характеристик уравнения .
Если последнее уравнение гиперболического типа, то уравнение характеристик имеет два интеграла: т.е. существуют два семейства вещественных характеристик.
С помощью замены переменных дифференциальное уравнение приводится к каноническому виду:
В этом случае осуществляем замену переменных — какая-нибудь функция, для которой и — вещественные функции.
Полагая и к виду
Постановка краевых задач
Классическим решением краевой задачи называются всяка функция, удовлетворяющая дифференциальному уравнению в каждой точке внутри области задания этого уравнения и непрерывная в рассматриваемой области, включая границу. Соответствующую постановку краевой задачи называют классической. Существует несколько таких задач:
- Задача Коши для бесконечной области. Рассмотрим эту задачу на примере
уравнения колебания струны и уравнения теплопроводности.
Рассмотрим процесс колебания тонкой бесконечной струны под действием непрерывно распределенной внешней силы с плотностью f. Предположим, что сила действует в одной плоскости – плоскости колебания струны (x, u), а струна является гибкой упругой нитью. Пусть величина натяжения, возникающая в струне вследствие ее изгиба, подчиняется закону Гука, а сами колебания достаточно малы. Тогда величина смещения u (x, t) удовлетворяет уравнению колебания струны:
Исследуем теперь процесс распределения температуры в тонком бесконечном стержне. Предполагается, что тепловой поток подчиняется закону Фурье, а изменение температуры тела пропорционально количеству теплоты, сообщаемой телу. Предположим, что внутри стержня может выделяться и поглощаться теплота, характеризуемая плотностью тепловых источников f. Тогда распределение температуры в стержне описывается уравнением теплопроводности:
- Стационарная задача (задача без начальных данных). Рассмотрим установившийся
режим распределения температуры в ограниченной тонкой пластине произвольной формы с гладкой границей. Пусть функция u(x, y) выражает температуру каждой точки пластины. При обычных законах распространения тепла функция u(x, y) удовлетворяет уравнению Пуассона: f=0) данное уравнение называется уравнением Лапласа:
В зависимости от теплового режима на границе получаются три граничных условия для функции u(x, y). Пусть Г – граница рассматриваемой области D – определения уравнения Лапласа. Математическая формулировка граничных условий может быть задана в следующем виде:
граничное условие I рода:
граничное условие II рода:
граничное условие III рода:
Производная берется по внешней нормали к кривой Г; λ>0 – коэффициент теплопроводности; φ0, φ1, φ2 – заданные на Г функции, причем φ2 есть произведение коэффициента теплопроводности на температуру внешней среды, соприкасающейся с телом.
Таким образом, краевая задача заключается в том, чтобы найти классическое решение уравнения Пуассона или Лапласа, удовлетворяющее одному из граничных условий.
- Смешанная краевая задача. Рассмотрим задачу распространения тепла в тонком
стержне единичной длины. Поместим один из концов в точку x=0, а другой – в точку x=1. Распределение температуры в таком стержне в течение некоторого интервала времени 0<t<T описывается уравнением
Граничное условие I рода (на конце стержня x=0 заданна температура):
Граничное условие II рода (на конце стержня x=0 задан тепловой поток):
Граничное условие III рода:
Для другого конца стержня x=1 правые части граничных условий заменяются соответственно на ψ0(t), ψ1(t), ψ2(t). Заметим, что начальное и граничное условия должны удовлетворять так называемым условиям сопряжения, т.е. при условии I рода u0(0)=φ0(0), при условии II рода u0x(0)=φ1(0), при условии III рода -u0x(0)+λu0(0)=φ2(0). Аналогичные условия сопряжения должны выполнятся и на другом конце стержня x=1.
Сформулируем одну из возможных краевых задач. Найти классическое решение уравнения и следующим граничным условиям II роди или III называются второй и третьей краевой задачей для уравнения теплопроводности.
Метод конечных разностей (метод сеток)
Численные методы, основанные на разностной аппроксимации производных называется разностным методом, методом конечных разностей или методом сеток.
Пусть заданно линейное дифференциальное уравнение, записанное в символическом виде: u – искомое решение уравнения; L – некоторый дифференциальный оператор, сокращенно обозначающий соответствующую дифференциальную операцию; f – правая часть уравнения (заданная функция).
Для единственного решения данного уравнения к нему необходимо присоединить краевые условия:
Разностный метод решения этих двух задач можно представить в виде двух этапов:
- построение разностной схемы, аппроксимирующей данную непрерывную задачу;
- получение решения разностной задачи и оценка погрешности этого решения.
Для построения разностной схемы первым шагом является замена области непрерывного изменения аргументов областью дискретного их изменения – сеточной областью xn, ym), называемых узлами сетки. Для квадрата
Второй шаг в построении разностной схемы состоит в аппроксимации дифференциального выражения Lu некоторым разностным выражением, а функцию непрерывного аргумента f – сеточной функцией, т.е. в построение некоторого разностного аналога для данного уравнения, при данных краевых условиях.
Такая аппроксимация приводит к системе алгебраических уравнений относительно значений некоторой сеточной функции
Где Lh и φh – разностные операторы, аппроксимирующие соответственно L и l; υh – искомая сеточная функция, аппроксимирующая решение u; fh, φh – заданные сеточные функции, аппроксимирующие f и φ.
Совокупность разносных уравнений, аппроксимирующих исходную задачу – есть разностная схема. Рассмотрим их подробнее на примерах уравнения теплопроводности и колебания струны.
Разностные схемы для решения уравнения теплопроводности (параболический тип)
Рассмотрим первую краевую задачу для уравнения теплопроводности в прямоугольнике решение задачи:
В области введем прямоугольную равномерную сетку xn, tk} с шагом h=1/N по координате x и с шагом τ=T/M по координате t:
Производные левой части уравнения аппроксимируем следующим разностными выражениями:
В соответствии с данной аппроксимацией построим два разностных аналога уравнения с неизвестной сеточной функцией υhτ:
Здесь - значение некоторой сеточной функции fhτ, соответствующей правой части уравнения .
Начальное и граничное условия для первой краевой задачи аппроксимируются точно:
Для второй и третьей краевых задач граничные условия аппроксимируются на основе разностных выражений.
Полагая r=τ/h2 получим - для первой разностной схемы, - - для второй разностной схемы.
Анализ показывает, что погрешность аппроксимации схем есть
Разностные схемы для решения уравнения колебания струны (гиперболический тип)
Рассмотрим первую краевую задачу для уравнения колебания струны в прямоугольнике решение задачи:
Применение метода конечных разностей к решению задачи по существу мало чем отличается от его применения к уравнению теплопроводности. Область покрывается сеткой t:
Разностная аппроксимация принимает вид
Начальные условия аппроксимируются следующим образом:
Граничные условия аппроксимируются точно так же, как и для уравнения теплопроводности:
Значение является фиктивным неизвестным, которое можно определить по формуле: h.
Анализ показывает, что погрешность аппроксимации схем есть
Список литературы
- Демидович Б.П., Марон И.А. Основы вычислительной математики. Наука, 1970.
- Минкова Р.М., Вайсбурд Р.А. Методы вычислительной математики. УПИ, 1981.
- Боглаев Ю.П. Вычислительная математика и программирование. Высшая школа, 1990.
- Кацман Ю.Я. Прикладная математика. Численные методы. ТПУ, 2000.