Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вычислительная математика.pdf
Скачиваний:
3
Добавлен:
24.11.2025
Размер:
3.89 Mб
Скачать

Математическая модель прямой задачи: max Z = 65x1 +70x2 +60x3 +120x4 ;

4x

+ 2x

2

+ 2x +8x

4

4800,

 

1

 

 

3

 

 

 

2x1 +10x2 +6x3

 

 

 

2400,

 

x

+

 

 

2x

+ x

4

1500

 

1

 

 

 

1

 

 

x j

0

(i =1,2,3,4).

 

 

Математическая модель двойственной задачи: min f = 4800y1 + 2400y2 +1500y3;

4y1

+ 2y2 + y3 65,

2y

+10y

2

 

70,

 

1

 

 

 

 

 

2y

+6y

2

+ 2y

3

60,

 

1

 

 

 

 

8y

+

 

y

3

120,

 

1

 

 

 

 

 

yi 0 (i =1,2,3).

4.13 Разностные методы

4.13.1 Основные понятия

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

Метод конечных разностей состоит в следующем. Область непрерывного изменения аргументов (например, x и t) заменяется конечным (дискретным) множеством точек (узлов), называемым сеткой, вместо функций непрерывного аргумента рассматриваются функции дискретного аргумента, определенные в узлах сетки и называемые сеточными функциями. Производные, входящие в дифференциальное уравнение, заменяются (аппроксимируются) при помощи соответствующих разностных отношений; дифференциальное уравнение при этом заменяется системой алгебраических уравнений (разностным уравнением). Начальные и краевые условия тоже заменяются разностными начальными и краевыми условиями для сеточной функции. Естественно требовать, чтобы полученная таким образом разностная краевая задача была разрешима и ее решение при увеличении числа N узлов сетки приближалось (сходилось) к решению исходной задачи для дифференциального уравнения.

207

4.13.2 Сетки и сеточные функции

Рассмотрим простейшие примеры сеток.

Пусть область изменения аргумента x есть отрезок 0 x l . Разобъём отрезок

0 x l точками

xi = ih

(i =1, 2, , N;

h > 0)

на N равных частей длины h = l N

каждая.

Множество точек

xi = ih, i =1, 2, , N называется разностной сеткой на отрезке 0 x l

и обозначается ϖh ={xi = ih,

i = 0,1, ,N}, а число h – расстояние между точками (уз-

лами) сетки ϖh – называется шагом сетки.

 

 

 

 

Отрезок

[0, l]

можно

разбить

на

N частей, вводя

произвольные

точки

x1 < x2 < < xN 1 < l . Тогда получим сетку ϖh = {xi ,

i = 0,1, , N,

x0 = 0, xN = l}, с ш а-

гом hi = xi xi1 , который зависит от номера i узла xi. Если hi hi+1

хотя бы для одного но-

мера i, то сетка ϖh называется неравномерной. Если hi = const = h = lN для всех i=1,2, ,N, то мы получаем равномерную сетку.

На бесконечной прямой −∞ < x < ∞ можно рассматривать сетку {x +ih, i = 0, ±1, ± 2, } с началом в любой точке x, состоящую из бесконечного числа узлов.

Функцию yi = y(xi ) дискретного аргумента xi: i=0,1, ,N, называют сеточной функцией, определенной на сетке ϖh . Всякой непрерывной функции f(x) можно поставить в соот-

ветствие сеточную функцию

f

h , полагая, например, f h = f (x ) .

 

 

 

 

 

 

 

i

 

i

i

 

 

 

 

 

Пусть

область

изменения

аргументов

(x, t)

есть

прямоугольник

 

 

= (0 x 1,

0 t T ) . Построим на отрезке 0 x 1 сетку ϖh = {xi

= ih,

i = 0,1, , N}, с

D

шагом h =1 N и сетку ϖτ = {t j

= jτ, j = 0,1, , N0}, с шагом τ = T N0

на отрезке 0 t T .

Множество узлов (xi , t j ) с координатами xi = ih, t j = jτ назовем сеткой в прямоугольнике D и обозначим ϖhτ = {(xi = ih, t j = jτ), i = 0,1, , N, j = 0,1, , N0}. Эта сетка равномерна

по каждому из переменных x и t. Если хотя бы одна из сеток ϖh или ϖτ неравномерна, то сетка ϖhτ называется неравномерной. Сетка ϖhτ очевидно, состоит из точек пересечения

прямых x = xi , i = 0,1, , N и прямых t = t j ,

j = 0,1, , N0 .

 

 

 

 

 

 

 

 

Пусть u – сеточная функция, заданная на ϖ

hτ

. Будем обозначать

u j = u(x , t

j

)

значе-

 

 

 

 

 

 

i

 

i

 

 

 

ние сеточной функции и в узле (xi, tj ) сетки ϖhτ . Непрерывной функции

u(x, t), где

(x, t)

– точка из

 

, будем ставить в соответствие сеточную функцию u j = u(x

 

, t

 

) .

 

D

i

j

 

 

 

 

 

 

 

i

 

 

 

 

 

208

4.13. 3 Аппроксимация простейших дифференциальных операторов

Оператор Lh , преобразующий сеточную функцию u в сеточную функцию =Lhu , называют сеточным или разностным оператором. Дифференциальный оператор L, заданный в классе функций непрерывного аргумента, может быть приближенно заменен (аппроксимирован) разностным оператором Lh , заданным на сеточных функциях. Для этого каждая из производных заменяется разностным отношением (отсюда и название «разностный оператор»), содержащим значения сеточной функции в нескольких узлах сетки.

Пусть ϖh = {xi = ih} сетка с шагом h на отрезке 0 x 1. Рассмотрим первую производную Lν = ν′ функции ν(x) . Заменить ее разностным выражением можно бесчисленным

множеством способов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Простейшими являются замены

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L ν ~ νi

 

 

−νi1 = L

 

 

 

ν

i

– левая разностная производная,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L ν ~

νi

 

 

−νi+1

 

= L+

νi

– правая разностная производная или L0 νi ~

 

νi+1 −νi1

 

– цен-

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

2h

 

тральная разностная производная. При замене

Lν = ν′ разностными выражениями допуска-

ется погрешность L± νi (Lν)i ,

называемая погрешностью аппроксимации оператора L раз-

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ностным оператором Lh. Естественно требовать,

чтобы при стремлении h к нулю эта п о-

грешность стремилась к нулю.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Разложим ν(x) в окрестности точки x = xi:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ν

i±1

= ν

i

± hν′

+O

 

(h2 )

и вычислим ψh = L

 

ν

i

−ν′

= O (h) , ψh = L+ ν

i

−ν′ = O (h) .

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

i

h

 

i

 

 

i

h

 

 

 

i

 

 

 

 

 

Будем говорить, что разностный оператор Lh:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1)

 

аппроксимирует

 

 

дифференциальный

 

 

оператор

L

на

сетке

ϖh ,

если

max

 

 

 

ψh

 

 

 

= max

 

L (ν

) (Lν)

i

 

, где ν(x) – достаточно гладкая функция, стремится к нулю при

 

 

 

 

 

 

 

 

 

 

 

 

ϖh

 

 

 

i

 

 

 

 

ϖh

 

 

h i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2)

аппроксимирует

 

 

L

с

 

порядком

n

(n

>

0),

если

max

 

ψih

 

= O (hn ) ,

(или

 

 

 

 

 

max

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ϖh

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ψih

 

Mhn , где М – положительная постоянная, не зависящая от h).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ϖh

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lν = ν′ с первым порядком.

 

 

Очевидно, что L

 

 

ν

i

и

L+

ν

i

аппроксимируют

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выражение для Lh νi содержит значения ν в двух узлах xi и xi-1 сетки. Говорят, что

209

оператор Lh является двухточечным или оператором первого порядка.

Множество узлов, значения сеточной функции, которые входят в выражение Lh νi , называют шаблоном оператора Lh в точке xi. Очевидно, что шаблон оператора Lh состоит

из двух узлов xi и xi-1

, а шаблон L+

из узлов xi и xi+1.

 

 

 

 

 

 

 

 

 

 

h

 

 

 

Рассмотрим вторую производную Lν = ν′′. На двухточечном шаблоне, очевидно,

ее

аппроксимировать нельзя. Выберем трехточечный шаблон, состоящий из узлов xi-1, xi, xi+1

и

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

 

 

 

L ν

 

= ν

xx,i

=

1 (ν

x,i

−ν

x,i

)=

νi+1 2νi i1

.

 

 

 

 

h

i

 

 

h

 

 

h2

 

Используем разложение

 

 

 

 

νi±1 = νi ± hν′i

+ h2 ν′i′± h3

ν′i′′+ h4 νi(IV ) +O (h4 )

 

 

 

 

 

 

2

 

6

 

24

 

 

(O (h4) – величина, стремящаяся у нулю при h 0, быстрее, чем h4 ). Отсюда следует (индекс i опускаем)

νxx −ν′′ = h2 ν(IV ) +O (h2 ) , 12

т.е. νxx аппроксимирует ν′′ со вторым порядком. Рассмотрим более сложный оператор

Lu =

u

2u

,

 

 

 

 

 

 

 

 

t

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где u(x, t) – функция двух аргументов x и t, меняющихся в области

 

= (0 x ,

0 t T ) .

D

Введем сетку

 

ϖhτ ={(xi = ih,

t j = jτ), i = 0,1, , N,

j = 0,1, , N0}с шагами

h =1 N и

τ = T N0 . Произведем замену Lu на разностный оператор

 

L

u j+1

= uij+1 uij

uij1 2uij +uij+1

.

 

 

 

 

 

 

 

 

 

hτ

i

 

 

τ

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Этот оператор определен на шаблоне, состоящем из четырех точек

Оператор Lhτ имеет первый порядок аппроксимации по τ и второй по h: O (h2 + τ) .

210

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]