Главная Обратная связь

Дисциплины:






Построение сетки и введение сеточных функций



Численное решение задачи состоит в нахождении приближённых значений y0, y1, …, yn искомого решения в узлах сетки x0, x1, …, xn.

Будем использовать равномерную сетку. Для этого разобьём отрезок [a, b] на n равных частей длины h:

- шаг сетки.

Точки разбиения имеют абсциссы:

xi = x0 + i·h , i = 1, 2, …, n;

x0 = a; xn = b.

Значения в точках деления искомой функции y = y(x) и её производных
y′ = y′(x), y″ = y″(x) обозначим соответственно через

yi = y(xi), y′i = y′(xi), y″i = y″(xi)

Введём также обозначения:

pi = p(xi), qi = q(xi), fi = f(xi)

Построение разностной схемы

Заменим производные y′(xi) и y″(xi) в каждом внутреннем узле центральными разностными производными:

(4.3)

а на концах отрезка в точках x0 = a и xn = b производные заменим односторонними конечно-разностными отношениями:

(4.4)

Тогда получаем разностную аппроксимацию исходной задачи:

(4.5)

- система n+1 уравнений с n+1 неизвестными.

Метод прогонки

Преобразуем систему (4.5), приведя подобные для yi. Получим систему в следующем виде:

0·h – α1y0 + α1·y1 = A·h (4.6)

(1 – pi·h/2)·yi-1 + (qi·h2 – 2)·yi + (1 + pi·h/2)·yi+1 = fi·h2 , i = 1, 2, …, n-1

- β1·yn-1 + (β0·h + β1yn = B·h

Введём обозначения:

b0 = α0·h – α1 , c0 = α1 , φ0 = A·h

ai = 1 – pi·h/2

bi = qi·h2 – 2

ci =1 + pi·h/2

φi = fi·h2 , i = 1, 2, …, n-1

an = - β1

bn = β0·h + β1

φn = B·h

Тогда система (4.6) может быть записана в следующем виде:

b0·y0 + с0·y1 = φ0 (4.7)

ai·yi-1 + bi·yi + ci·yi+1 = φi, i = 1, 2, …, n-1

an·yn-1 + bn·yn = φn

Решение полученной системы будем искать в виде:

yi = ui + vi·yi+1 , i = n-1, …, 2, 1, (4.8)

где

, i = 1, 2, …, n

Из системы (4.7) имеем:

а0 = 0, сn = 0.

Тогда , .

В методе прогонки, таким образом, можно выделить два этапа:

· прямой ход прогонки – последовательное вычисление коэффициентов ui , vi·;

· обратный ход прогонки – нахождение значений yn, yn-1, …, y0 .

Поскольку сn = 0, тогда vn = 0 и yn = un .

Остальные yi вычисляются по формуле (4.8).

На рисунке 4.1 приведена блок-схема алгоритма метода прогонки для отыскания численного решения краевой задачи (4.1), (4.2) с фиксированным шагом.

 


Начало

Ввод a, b, n, alfa0, alfa1, YA, beta0, beta1, YB

h := (b – a) / n

b0 := alfa0 * h – alfa1

v[0] := - alfa1 / b0

u[0] := YA * h / b0

i := 1 … n-1

x := a + i * h

ai := 1 – p(x)*h/2



bi := q(x)*h*h – 2

ci := 1 + p(x)*h/2

fi := f(x)*h*h

v[i] := - ci / (bi + ai * v[i-1])

u[i] := (fi – ai * u[i-1]) / (bi + ai * v[i])

y[n] := (YB*h + beta1 * u[n-1]) / (beta0*h + beta1)

i := n-1 … 0

y[i] := u[i] + v[i] * y[i+1]

i := 0 … n

x := a + i * h

Вывод x, y[i]

Конец

Рисунок 4.1 - Блок-схема алгоритма метода прогонки

Исходными данными в данной задаче являются:

a, b – значения левого и правого концов отрезка [a, b], на котором ищется решение;

n – число частей, на которое делится отрезок [a, b] узлами сетки;

alfa0, alfa1, YA – константы, входящие в краевое условие на левом конце отрезка
[a, b];

beta0, beta1, YB – константы, входящие в краевое условие на правом конце отрезка
[a, b];

p(x), q(x), f(x) – функции, которые должны быть описаны в виде подпрограмм.

В программе используются рабочие массивы {ui} и {vi}, i = 0, 1, …, n-1.

Результаты работы программы выводятся в виде двух столбцов:

X – массив значений узлов сетки;

Y – массив значений искомого решения в соответствующих узлах сетки.

Метод прогонки позволяет найти точное решение системы (4.5), значит погрешность решения краевой задачи (4.1), (4.2) определяется только погрешностью разностной аппроксимации исходной задачи системой (4.5) и равна O(h). Так как
h = (ba)/n, то, выбирая n достаточно большим, можно добиться уменьшения погрешности ценой увеличения объёма вычислений при решении системы (4.5).

При практической оценке погрешности найденного решения обычно используют двойной пересчёт и правило Рунге. Если y(xi) – точное значение решения в узле, а yi и i - приближённые значение решения в том же узле, полученные соответственно с шагом h и h/2, то оценка погрешности решения i определяется формулой

|i - y(xi)| |yi - i|/3.

 

Список литературы

 

 

1. Амосов А.А., Дубинский Ю.А., Копченова Н.В. Вычислительные методы для инженеров: Учеб. пособие. - М.: Высшая школа, 1994. - 544 с.

2. Гловацкая А.П. Методы и алгоритмы вычислительной математики. Учеб. пособие. –М.: Радио и связь, 1999.- 408 с.

3. Демидович Б.П., Марон И.А., Основы вычислительной математики. - М.: Физматгиз, 1963.-660 с.

4. Демидович Б.П., Марон И.А., Шувалова Э.З., Численные методы анализа. - М.: Физматгиз, 1963.-400 с.: ил.

5. Дюк В. Обработка данных на ПК в примерах. – С.-Петербург: Питер – 240 с.: ил.

6. Калиткин Н.Н. Численные методы. - М.: Наука, 1978. - 512 с.

7. Мак-Кракен Д., Дорн У. Численные методы и программирование.-М.: Мир, 1977. - 583 с.: ил.

8. Николаев Н.А. Лабораторный практикум по численным методам. Сборник заданий для лабораторных работ. - Новоуральск, НПИ-МИФИ, 1998 г., 54 с.:ил.

9. Орлова И.В. Численные методы. Учебно-методическое пособие. Новоуральск, НГТИ, 2005, - 44 с.

10. Плис А.И., Сливина Н.А. Лабораторный практикум по высшей математике: Учеб. пособие для втузов. - М.: Высшая школа, 1983. - 208 с.: ил.

11. Турчак Л.И. Основы численных методов.- М.:Наука, 1987.- 320 с.

12. Тюрин Ю.Н., Макаров А.А. Статистический анализ данных на компьютере / Под ред. В.Э. Фигурнова – М.: ИНФРА –М, 1998. – 528 с.: ил.

13. Форсайт Дж., Малькольм М., Моулер К. Машинные методы математических вычислений. Пер. англ. -М.: Мир, 1980. -280с.

14. Шуп Т. Решение инженерных задач на ЭВМ: Практическое руководство. Пер. с англ. - М.: Мир, 1982. - 238 с.: ил.

 


 

 

УДК 681.3.06

 

Автор: Орлова Ирина Викторовна

 

ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

 

Учебно-методическое пособие по курсу
“Вычислительные методы в инженерных расчётах”
для студентов специальности 210106
очной формы обучения

Новоуральск, НГТИ, 2009, 28 с.

 





sdamzavas.net - 2018 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...