Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Несущая способность конструкций в условиях теплосмен

..pdf
Скачиваний:
0
Добавлен:
12.11.2023
Размер:
4.03 Mб
Скачать

Dx = f (A1 + A2 )x,

и формула метода Якоби будет выглядеть следующим образом:

Dx(s+1) = f (A + A )x(s) .

1

2

Учитывая, что A1 + A2 = A D ,

последнее выражение можно

также представить в форме

D(x(s+1) x(s) ) + Ax(s) = f .

11.1.3. Метод Зейделя

Для метода Зейделя58 выражение

 

 

i1

m

xi(s+1)

= fi ai j x(js+1)

ai j x(js)

 

 

j=1

j=i+1

(7.1) преобразуется к виду

 

 

 

 

ai i , aii 0, i = 1,m ,

 

 

 

 

 

где s – номер итерации. В отличие от метода Якоби, для вычисления

очередной неизвестной xi(s +1)

на s + 1 итерации используются все

предварительно найденные

на той же итерации величины

x(js+1) , j =

 

. Как и ранее,

вычислительный процесс заканчивает-

1,i 1

ся, когда выполняется условие

max x(js+1) x(js) < δ,

1jm

где δ – заданная погрешность вычисления результата, δ > 0.

Пример. Решить систему линейных алгебраических уравнений

4x1 + 2x2 = 5,3x1 + 5x2 = 9

методом Зейделя. Точное решение этой системы: x1 = 0,5, x2 = 1,5.

58Зейдель Филипп Людвиг (24.10.1821–13.08.1896) – немецкий астроном

иматематик, член Баварской и Геттингенской академий наук.

131

Уравнения системы записываются в виде итерационной схемы Зейделя:

 

 

 

(s+1)

(s)

)

4,

 

 

 

 

x1

= (5 2x2

 

 

 

 

 

 

= (9 3x1(s+1) )

 

 

 

 

 

x2(s+1)

5.

 

 

 

 

 

 

 

 

 

 

 

 

Это означает, что для нахождения

x2( s+1) на s + 1 итерации ис-

пользуется значение x( s+1)

, вычисленное ранее на той же s + 1 ите-

 

1

 

 

 

 

 

 

рации. В качестве начального приближения принимаются

x(0) = 0 ,

 

 

 

 

 

 

 

 

1

x(0)

= 0 .

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 11.2

 

Результаты выполнения итераций метода Зейделя

 

 

 

 

 

 

 

 

 

 

 

s

 

 

x1(s)

 

 

x2(s)

 

 

0

 

 

 

 

 

0

 

 

1

 

 

1,25

 

 

 

 

 

 

 

 

 

 

 

1,05

 

 

2

 

 

0,725

 

 

 

 

 

 

 

 

 

 

 

1,365

 

 

3

 

 

0,5675

 

 

 

 

 

 

 

 

 

 

 

1,4595

 

 

4

 

 

0,5203

 

 

 

 

 

 

 

 

 

 

 

1,4879

 

 

5

 

 

0,5061

 

 

 

 

 

 

 

 

 

 

 

1,4964

 

 

6

 

 

0,5018

 

 

 

 

 

 

 

 

 

 

 

1,4989

 

 

7

 

 

0,5005

 

 

 

 

 

 

 

 

 

 

 

1,4997

 

Ход выполнения итерационного процесса Якоби отображен на рис. 11.2, результаты расчетов приведены в табл. 11.2. После выпол-

нения семи итераций

 

x(7) x(6)

 

= 0,0013,

 

x(7) x(6)

 

= 0,0008 . Ис-

 

 

 

 

 

 

1

1

 

 

 

2

2

 

 

пользуемая оценка показывает, что решение методом Зейделя также получено с погрешностью не более 0,0015.

132

x2

2

 

 

4x1 + 2 x2 = 5

 

 

 

 

1

3x1 + 5 x2 = 9

x1

0

1

2

3

Рис. 11.2. Схема выполнения итераций метода Зейделя

В действительности точное решение системы и решение, полученное методом Зейделя после тринадцати итераций, различаются не более чем на 0,0005. Очевидно, что метод Зейделя дает последовательность, быстрее сходящуюся к точному решению.

Как и в предыдущем случае, матрица коэффициентов А представляется в виде суммы A = A1 + D + A2 с теми же обозначениями. Итерационную формулу метода Зейделя можно представить в форме

( A1 + D ) x(s+1) = f A2 x(s).

Учитывая, как и ранее, что A2 = A A1 D , последнее выражение можно записать в виде итерационной схемы

( A1 + D)(x(s+1) x(s) )+ Ax(s) = f .

11.1.4. Сходимость итерационных методов

Сравнивая формулы метода Якоби,

D(x(s+1) x(s) ) + Ax(s) = f ,

133

и метода Зейделя,

( A1 + D)(x(s+1) x(s) )+ Ax(s) = f ,

можно отметить, что если последовательности получаемых решений сходятся, то есть в некотором смысле x(s+1) x(s) 0, s → ∞ , то они

сходятся к решению исходных задач Ax(s ) = f . Однако возможна

ситуация, когда сходимость последовательности получаемых решений отсутствует.

Пример. Решить систему линейных алгебраическихуравнений

4x1 + 2x2 = 5,20x1 + 5x2 = −2,5.

Точное решение этой системы алгебраических уравнений из-

вестно: x1 = 0,5, x2 = 1,5 .

Таблица 11.3

Отсутствие сходимости решения системы линейных алгебраических уравнений при применении метода Зейделя

s

x(s )

x(s )

 

1

2

0

 

0,0

1

1,25

 

 

 

4,5

2

–1,0

 

 

 

–4,5

3

3,5

 

 

 

13,5

4

–5,5

 

 

 

–22,5

5

12,5

 

 

49,5

Для нахождения решения используется итерационный метод Зейделя. Как и ранее, уравнения системы записываются в виде итерационной схемы:

134

 

 

 

 

(s+1)

 

 

 

 

(s)

)

4,

 

 

 

 

 

 

 

 

x1

= (5 2x2

 

 

 

 

 

 

 

 

 

 

 

= (2,5 + 20x1(s+1) )

 

 

 

 

 

 

 

x2(s+1)

 

5.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

x2

–20x1 + 5x2 = –2,5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

2

3

 

4

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

–1

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

–5

–4

–3

–2

–1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

–2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

–3

 

 

 

4x1 + 2x2 = 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

–4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

–5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 11.3. Отсутствие сходимости при использовании метода Зейделя

Результаты вычислений представлены в табл. 11.3. На рис. 11.3 показан ход выполнения итерационной процедуры Зейделя.

Расчеты показывают, что в рассматриваемом примере отсутствует сходимость последовательности получаемых решений: с увели-

чением количества итераций x(s+1) x(s) → ∞, s → ∞ .

 

 

 

 

 

После

выполнения

пяти

итераций

 

x(5) x(4)

 

= 18 ,

 

 

 

 

 

 

 

1

1

 

 

x2(5) x2(4) = 72 , причем с увеличением номера итерации различие

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

135

 

 

11.2. Нелинейные уравнения

 

 

Предполагается,

что задана нелинейная зависимость вида

y =

f(x).

Требуется

определить все те значения

аргумента

xk ,

k =1,

2, , которые обращают функцию в нуль:

 

 

 

 

f (xk ) = 0.

(11.3)

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

11.2.1. Метод половинного деления59

Метод основан на теореме математического анализа [3]: функция, непрерывная в замкнутом интервале и принимающая на концах этого интервала значения разных знаков, хотя бы один раз обращается в нуль внутри интервала.

Предполагается, что функция f(x) непрерывна в замкнутом интервале [x0 , x1 ]. Метод заключается в последовательном сокращении

длины этого интервала для локализации корня уравнения (11.3). Первоначально проверяются значения заданной функции на концах интервала. В случае если

f (x(0) ) f (x(1) ) = 0 ,

один из концов интервала является искомым корнем уравнения. Если на концах интервала значения функции имеют разные

знаки, то имеет место соотношение

 

f (x(0) ) f (x(1) )< 0 .

В этом случае вычисляется значение аргумента в середине ин-

тервала

(x(0) + x(1) ) 2 , и вычисляется значение функции

f (x(2) )

в этой точке. Далее сравниваются знаки функции в точке

59 Встречаются иные названия этого метода: метод бисекции, дихотомии.

136

x(2) и, например, в левой точке x(0) интервала. Если имеет место соотношение f (x(0) ) f (x(2) )< 0 (рис. 11.4), то корень следует искать

винтервале x(0) , x(2) . В противном случае корень разыскивается

винтервале x(2) , x(1) . В результате выполненной операции исход-

ный интервал сократился вдвое.

Далее в зависимости от ситуации интервал вновь делится пополам:

(x(2) + x(0) ) 2, x(3) =

(x(2) + x(1) ) 2,

и т.д.

f (x(2) ) f (x(0) )< 0; f (x(2) ) f (x(0) ) > 0,

f(x1)

f(x4) f(x3) f(x2)

x

x

 

x

 

x

x

 

 

Рис. 11.4. Схема метода половинного деления

Для прекращения вычислительной процедуры могут применяться различные критерии. Если функция достаточно пологая, имеет смысл использовать условие малости интервала, ограничивающего положение корня (рис. 11.5, a):

x(s+1) x(s) < δx .

Если функция «круто» меняет свое значение, целесообразно применять условие (рис. 11.5, б) «близости» значения функции f(x) к нулевому значению:

137

 

 

y(s+1) = f (x(s) ) < δy .

 

δx

 

 

 

 

δy

 

 

 

 

 

xk

xk+1

 

 

xk

 

a

 

 

 

б

 

Рис. 11.5. Частные случаи поиска корня нелинейного уравнения:

а – пологая функция; б – функция «круто» меняет значение

Если заранее неизвестен характер «поведения» функции, име-

ет смысл использовать одновременно оба условия для остановки

итерационного процесса.

 

 

 

Пример. Найти корень уравнения 2x + sin х 1 = 0 .

2

 

 

 

 

 

1

 

 

 

 

 

0

 

 

 

 

 

–-1

 

 

 

 

 

–-2

 

 

 

 

 

0

0,2

0,4

0,6

0,8

1

Рис. 11.6. Функция

f (x) = 2x + sin х 1

 

Вид функции

f (x ) = 2x + sin х 1

показан на рис. 11.6, из ко-

торого видно, что корень этого уравнения принадлежит интервалу

[0, 1]. Рассматриваемая функция в этом интервале непрерывна и на

138

его концах принимает значения разных знаков. Это означает, что для поиска корня заданного уравнения может быть использован метод половинного деления. Результаты расчетов приведены в табл. 11.4. Значение корня уравнения (с погрешностью не более 10–10): 0,335 418.

 

 

 

 

 

Таблица 11.4

 

 

Результаты вычисления корня уравнения 2x + sin (x) 1 = 0

 

 

 

методом половинного деления

 

 

 

 

 

 

 

 

 

 

Номер

Левая точка

Центральная

Правая точка

Ширина

 

 

итерации

точка

отрезка

 

 

1

0,0

0,5

1,0

1,0

 

 

2

0,0

0,25

0,5

5,0 10–1

 

 

3

0,25

0,375

0,5

2,5 10–1

 

 

4

0,25

0,3125

0,375

1,25 10–1

 

 

5

0,3125

0,34 375

0,375

6,25 10–2

 

 

6

0,3125

0,328 125

0,343 75

3,125 10–2

 

 

7

0,328 125

0,335 937 5

0,343 75

1,5625 10–2

 

 

8

0,328 125

0,332 031 3

0,335 937 5

7,8125 10–3

 

 

9

0,332 031 3

0,333 984 4

0,335 937 5

3,9063 10–3

 

 

10

0,333 984 4

0,334 960 9

0,335 937 5

1,9531 10–3

 

 

11

0,334 960 9

0,335 449 2

0,335 937 5

9,7656 10–4

 

 

12

0,334 960 9

0,335 205 1

0,335 449 2

4,8828 10–4

 

 

13

0,335 205 1

0,335 327 1

0,335 449 2

2,4414 10–4

 

 

14

0,335 327 1

0,335 388 2

0,335 449 2

1,2207 10–4

 

 

15

0,335 388 2

0,335 418 7

0,335 449 2

6,1035 10–5

 

 

 

 

 

 

 

 

36

0,335 418 0

0,335 418 0

0,335 418 0

2,9104 10–11

 

 

 

11.2.2. Метод простых итераций

 

 

 

Метод простых

итераций заключается в замене уравне-

 

 

ния (11.3) эквивалентным ему уравнением вида

 

 

x = ϕ (x).

Для приведения выражения (11.3) к требуемому виду можно воспользоваться простым приемом:

139

f(x) = f (x) + x x = 0,

x= x + f (x) = ϕ (x).

Спомощью этой зависимости строится итерационный процесс

x(s+1) = ϕ(x(s) )

при некотором заданном начальном значении x(0) .

Пример. Найти корень уравнения 2x + sin х 1 = 0 методом простых итераций. Уравнение преобразуется к стандартному виду

x= [1 sin х]2

ик форме итерационного процесса

x(s+1) = 1sin x(s) 2.

Результаты расчетов даны в табл. 11.5.

Таблица 11.5

Результаты вычисления корней уравнения 2x + sin х 1 = 0 методом простых итераций при разных начальных значениях x(0)

Номер итерации

Приближения решения

0

x(0) = 0,0

x(0) = 1,0

1

0,5

0,079 264 5

2

0,260 287 2

0,460 409 2

3

0,371 320 9

0,277 842 6

4

0,318 576 7

0,362 859 2

5

0,343 392 4

0,322 525 7

6

0,331 658 3

0,341 518 5

7

0,337 194 3

0,332 540 9

8

0,334 579 7

0,336 777 1

9

0,335 813 9

0,334 776 5

10

0,335 231 1

0,335 721 0

30

0,335 418 0

0,335 418 0

140

Соседние файлы в папке книги