Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы Часть 4..pdf
Скачиваний:
20
Добавлен:
15.11.2022
Размер:
6.79 Mб
Скачать

6. Для достижения погрешности, не превышающей 10"*, рассмотренные чис­ ленные методы решения задачи Коши требуют различных затрат времени: метод Эйлера - 13,4*10"3 с, метод Рунге - Купы 2-го порядка - 4,6-10-5 с, метод Рунге - Кутш 3-го порядка - 7,4-10“* с, метод Рунге - Купы 4-го порядка - 2,4-10"6 с, метод Адамса - 1,4-10-5 с. Наименьших ресурсов вычислительной техники (при одинаковой точности) для решения поставленной задачи Коши требует метод Рунге - Купы 4-го порядка.

3.2. Граничные задачи

Пусть на отрезке [а, Ъ] задано линейное дифференциальное уравнение вто­ рого порядка

+ р ^ ~ г +д^ у = А*) ■ dx ах

В граничной задаче, в отличие от задачи Коши, условия для определения постоянных интегрирования задают в нескольких различных точках отрезка, на котором ищут решение исходной дифференциальной задачи. Граничное усло­ вие первого рода определяет значение искомой функции в заданной точке, на­ пример

у| - А .

Граничное условие второго рода задает значение производной искомого решения,

dУ

= Л.

dx

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

■А.

Возможны различные комбинации граничных условий на концах отрезка [(а, b], например

а 0у\

+ а , ^

= А. ^

= В.

° ' lx=e

‘dx

dx

 

3.2.1. Разностный метод

Задание. Для дифференциального уравнения второго порядка у" + у - х с граничными условиями у(о) = 0, /( l) = 0 :

-построить разностные аналоги дифференциального уравнения и гра­ ничных условий;

-оценить погрешность аппроксимации дифференциального уравнения и граничных условий этими разностными аналогами;

- разработать вычислительную программу, реализующую разностный метод;

-с помощью разработанной программы найти численное решение по­ ставленной задачи;

-исследовать сходимость численных решений и определить зависимость погрешности численного решения от шага интегрирования И;

-определить шаг интегрирования И, обеспечивающий погрешность чис­ ленного решения не выше КГ6;

-оценить быстродействие вычислительной программы.

Алгоритм решения

Пусть Qn = {х* = а + к • h, к = 0,п, И= (b -a )/n \ - разностная сетка с посто­ янным шагом h на заданном отрезке [а, Ь]. Для замены дифференциальной за­ дачи разностным аналогом используются аппроксимации первой и второй про­ изводных:

М * * ) .. y C O - y f a - i)

dx

2h

-

y(xkJ ~ 2 y ( x k)+y(xk_l)

d x 1 ~

h1

и конструируется разностный аналог заданного дифференциального уравнения для произвольного внутреннего узла к в виде

Ук+\ ~ 2Ук +Ук- 1

 

~+Ук = **•

h2

 

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

ских уравнений

 

У к- 1 + У к (л2 ~ 2 ) + У к +1 =

, к = \ , п - \ ,

относительно узловых значений ук, к = 0,п

искомой функции >>(х). Поскольку

в этих уравнениях содержится п + 1 неизвестное значение искомой функции, не­ обходимо дополнить эту систему еще двумя алгебраическими уравнениями, по­ лучаемыми при замене граничных условий разностными аналогами, например

Уо=0, 2а. Уп- 1 = 0 .

п

Теперь система и + 1 алгебраического уравнения содержит л + 1 неизвест­ ную величину у к.

Для оценки погрешности аппроксимации граничной задачи разностным аналогом используются разложения решения задачи в ряды Тейлора вблизи

точки хк,

 

 

у(хк+1) = А*к)+ у’(хк )h + /(* * ) ~ + Ут(хк

о

+ ур {хк) ^ - +...,

2.

z4

у(хк-i)=>{**)- у'(хк )h+у"(хк) у - у"{хк ) ~

+/ ’Ы^-+...

2

6

24

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

= /( * * ) +/ Ч * Л ^ + И*а)-**+••■= [/(* * )+ Ж *

Слагаемое, находящееся в квадратных скобках, совпадает с исходным уравнением и поэтому обращается в нуль. Погрешность аппроксимации

у к = ^ у * ( х к ) + . . . = о ( и 2 )

заданного уравнения разностным аналогом имеет второй порядок.

Первое граничное условие >>(0)=0 выражением у0 =0 аппроксимируется точно. Второе граничное условие y(l) = 0 заменяется разностным аналогом

Уп-Уп- 1=0 h

Подстановка в этот разностный аналог ряда Тейлора

Ж х п - 1) = А * я)- У'(Хп )Ь + У ’(х п ) у +•• •

разложения искомого решения позволяет оценить погрешность аппроксимации граничного условия:

Погрешность аппроксимации граничного условия y(l)= 0 используемым разностным аналогом имеет первый порядок. Общая погрешность аппроксима­ ции граничной задачи разностной схемой определяется наибольшей из по­ грешностей о(/?2) и 0(h), то есть имеет первый порядок.

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

Выполнение расчетов

Точное решение поставленной задачи складывается из общего решения yl(x)=Cl sin(x)+ С2 cos(x) и частного решения у2(х)= х, то есть

Я *)= С, sin(x)+C2 cos(x)+x.

С учетом граничных условий получается система уравнений относительно постоянных интегрирования:

Ы 0)= С, sin(0)+ С2 cos(0)+0 = О,

{/(1) = С, cos(l)- С2sin(l)+1 = О,

откуда следует, что С, = —1/cos 1, С2 =0, и окончательно точное решение за­

дачи имеет вид (рис. 3.12) у(х) =х - sin(x)/cos 1.

Для различных значений шага интегрирования h построенная система ли­ нейных алгебраических уравнений решается любым известным методом и оп­ ределяются численные решения заданного дифференциального уравнения. Вы­ бирается первоначальный шаг интегрирования, например, h = (l - 0)/4 = 0,25. Далее шаг интегрирования уменьшается вдвое, h =0,125, и вновь решается та же задача. Затем шаг интегрирования вновь уменьшается вдвое, h = 0,0625, и так далее. Результаты расчетов приведены в табл. 3.6 и рис. 3.13.

Рис. 3.13. Численные решения граничной задачи разностным методом при различных шагах интегрирования:

h = 0,25 (а), h = 0,125 (б), h = 0,0625 (в) и h = 0,03125 (г)

Теперь, используя численные значения решений, полученных для разных шагов интегрирования Л, оценим различия 5ЛЛ/2 = max т -у £ /2 межДУ этими

xk e d j

I

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

4.Показано, что с уменьшением шага разностной сетки погрешность численного решения граничной задачи уменьшается.

5.При шаге разностной сетки h = 1,0-10"6 погрешность численного реше­ ния не превышает заданной величины, равной КГ6

6.Для получения численного решения граничной задачи разностным мето­ дом с заданной погрешностью на компьютере с процессором Intel® Pentium® 4 (тактовая частота 2,2 ГГц, объем оперативной памяти 512 Мбайт) с шагом ГО Ю*6 требует 0,74 с.

3.2.2. Метод пристрелки

Задание. Для дифференциального уравнения второго порядка у щл - у - х с граничными условиями ^(о) = 0, у 1'(l) = 0;

-разработать вычислительную программу, реализующую метод при­ стрелки;

-с помощью разработанной программы найти численное решение по­ ставленной задачи с погрешностью, не превышающей 1СГ6;

-определить шаг интегрирования h, обеспечивающий погрешность чис­ ленного решения не выше заданной;

-оценить быстродействие вычислительной программы.

Алгоритм решения

Дифференциальное уравнение второго порядка у* + у - х с помощью за­ мены переменных щ = у, и2 = у' преобразуется к системе двух уравнений первого порядка:

Jwl'= w2>

\и'2 =Х- Щ,

с соответствующими граничными условиями И]|х=0 = 0 и и2\х^ - 0.

Для использования метода пристрелки можно предположить, что и2|х=0 = D . Теперь значения

К = о = 0 >

H = 0 = D

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

Далее, решая каким-либо известным способом задачу Коши, находим ре­ шения щ {х,Ь \ U2{X\D) как функции параметра D. Очевидно, что второе гра­

0 , 4 5 9 7

начальные условия дают решение, для которого второе условие граничной за­ дачи не выполняется: U 2{X ; D ) |^, ^ =

Рис. 3.16. Численные решения щ (-о-) и и2(-Д-) системы

уравнений и[ = н2, и’2 = х

с начальными условиями

tfi L = 0 ’“2 L o = 0

при h = 0,05

Ук

0,0

- 0,2

-0,4

-0,6

-0,8

-1,0

0

0,2

0,4

0,6

0,8

1

*

Рис. 3.17. Численные решения и\ (-о-) и и2(-АД-) системы

уравнений и[ = и2, и2= х - и { с начальными условиями

“BiILL = 0 >*2*LL = “- 1 при Л = 0,05

Положим D =- 1 и вновь решим задачу Коши (рис. 3.17). В этом случае второе условие граничной задачи также не выполняется, поскольку

3.2.3.Метод Галеркина

Задание. Для дифференциального уравнения второго порядка у ” + у = х

сграничными условиями ^(о) = 1, y(l) = О :

-построить систему пробных (взвешивающих) функций;

-построить разрешающие соотношения - систему линейных алгебраи­ ческихуравнений;

-разработать вычислительную программу, реализующуюметод Галеркина;

-найти приближенное решение заданной задачи;

-исследовать сходимость последовательности приближенных решений

иопределить зависимость погрешности от номера приближения;

-определить количество слагаемых в разложении решения по системе пробных функций, обеспечивающее погрешность решения не выше 1 0 "*/

-оценить быстродействие вычислительной программы.

Алгоритм решения

Пусть для линейного дифференциального уравнения второго порядка /( * ) + P{x)y'(x)+q{x)y{x) =f{x)

с граничными условиями

(а0у{а)+ ау(а)= А,

1 М * ) + М * М

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

Ja 0cp(a)+a1cp'(a)=^,

0ф(б)+Р,ф’( б М ,

и Ф*(х), k = 1,л, удовлетворяющие однородным граничным условиям:

| а оФ* (а)+ а |Ф*(а) = 0- lP o9 *W +P M W =o.

Приближенное решение строится с использованием этих функций в виде

п

У„(*)=Ф о М + £ а*Ф*М>

к=\

где ак,к = \^п - коэффициенты, подлежащие определению. Согласно методу Г о р к и н а невязка, полученная при подстановке приближенного решения в дифференциальное уравнение, ортогонализируется ко всем элементам полной

системы взвешивающих функций, в качестве которой используется та же самая система пробных функций фу, У = 1, л .

Д / ( * ) + р ( х ) у ' ( х ) + q { x ) y { x ) - f { x ^ J {x)Ax = 0, j = \ , n .

а

В это соотношение подставляется разложение искомой функции в ряд по пробным функциям, и выполняется ряд преобразований:

f < p S (* )+ Z a*<p*(*) + р(х) 4>iМ + Е а*ф'*(х) +

+ q (x ) Фо(*)+ Х Л Ф ‘(х) -/(* )[ф ,(* )< Ь с = 0 ,

пГ

Еа* Дф: ( * ) + р ( х ) ф* (х ) + ?(х )ф* (х )]фj (*)<•*+

ъ

__

+ Д ф 2 М + р (^ )ф и х) + ^(х )Фо(х) - / ( х)]ф; (х )<1х = 0.

7 = 1, п .

а

 

Вводятся обозначения

 

ь

Cjk = Дф!(*) + p(xh'k (х) + ?(*)ф* (*)]ф, (x)dx,

а

f j = Д / М - ФоМ - р М ф о М - ?М ф о М ]ф , М<**.

а

с помощью которых полученное соотношение можно представить в виде сис­ темы линейных алгебраических уравнений относительно коэффициентов

ак , к = 1, л , разложения решения в ряд по пробным функциям,

п

__

'E c jkak=fj>

у=1.и.

к = \

 

Выполнение расчетов

Точное решение поставленной задачи складывается из общего решения у, (х) = С, sin(x)+ С2 cos(x) и частного решения у 2(х) = х , то есть

у ( х ) = С, sin(x)+ С2 cos(x)+ х .

С учетом граничных условий получается система уравнений относительно постоянных интегрирования:

W O ) = С, sin(o)+ С2 cos(o)+ 0 = 1,

\y (l) = Схsin(l)+ С2 cos(l) + 1 = 0 ,

откуда С, = - ( l + cosl)/sinl, С2 = 1 , и окончательно точное решение задачи имеег вид (рис. 3.19) у(х)= * + cos х - (l + cos l)sin x/sin 1 .

Для построения пробных функций используется система полиномов, яв­ ляющаяся полной и замкнутой; каждый элемент этой системы дифференциру­ ется достаточное число раз.

Пусть Фо(*) = Со + с\х • Для удовлетворения заданным граничным условиям требуется, чтобы ср0 (о)= 1 и cp0 (l) = 0. Из соответствующей системы уравнений:

j9o(o) = c0+ciO = l, }ф0 (1)= с 0 11 = 0 ,

получаются с0 = 1, q = -1, то есть ф0 (х) = 1 - х . Остальные пробные функции представляются в виде фА= x*(l-x) = x* - x k+\ k = Гл, то есть удовлетворяют

однородным граничным условиям, ф*(о)= у к(l) = 0 , к =\ п .

Приближенное решение поставленной задачи представляется в виде раз­ ложения

Рис. 3.20. Приближенное решение дифференциального уравнения у* + у = х с граничными условиями у(0 ) = 1, .y(l) = 0 , полученное методом Галеркина при л = 3

С использованием приближенных решений, получаемых для разных л,

оцениваются различия 6 лл+1

=max|yn(x )->>п+1(х)| между этими решениями, а

'

хеП.

также отклонения 6 Л=Ш£«|>'л(д:)-^(дг)! приближенных решений от точного (рис. 3.21).

б

Рис. 3.21. Сходимость последовательности приближенных решений граничной задачи, полученных методом Галеркина: зависимости погрешностей Ьп п+1 (-о-) и 6 „ (-Д-) от числа слагаемых л

в разложении искомой функции

Алгоритм решения

Пусть для линейного дифференциального уравнения второго порядка

У'(х)+ р{х)у'{х)+ q{x)y{x) = f(x )

с граничными условиями

(a0y(a)+aty'(a)=A,

1 М * ) + М * М

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

Га0ф(а)+а,(р'(а)=Л,

10ОФ(*)+Р|ЯФМ,

иф*(4 Ь 1,п, удовлетворяющие однородным граничным условиям:

| а оФ* (а)+ а|Фг(а ) = О,

[Р .ф4 (6 )+Р|ф;(л)= о.

Приближенное решение строится с использованием этих функций в виде

п

Л,(*)=Ф о(*)+Ха*Ф*(х)-

где ак,к = 1,п - коэффициенты, подлежащие определению. Подстановка этого выражения в дифференциальное уравнение определяет невязку

е„(х) = _>£(*)+ р{х)у'п{х)+ q{x)y„{x)- f(x ),

величина которой зависит от значений коэффициентов ак, к = 1,л. Строится функционал

8 (у»)=

а

имеющий минимум, равный нулю, при е„(х) = 0. Очевидно, что достижение минимума в этом случае соответствует подбору таких коэффициентов ак раз­ ложения решения в ряд по пробным функциям, при которых ул(х) удовлетво­ ряет заданному дифференциальному уравнению.

Рассматривая б(у„) как функцию п переменных ак,к =\,л, можно запи­ сать необходимые условия экстремума:

* ~ Г"-

UJ

a

J

Подстановка выражения е„ в это соотношение дает

\( \ ^ п(х) а

= \ ш ( х ) + ^ а кч1(х)+р{х) ФоМ + Х Х фК*)

+ «(*) Фо(*)+Ё а*Ф*(*) -/[(ф у +РФу + ?Фу)<Ьс= 0,

*=1

J

J

Z ак JI<PI(*)+ />(*№ (*) + ?(*)ф* (*)][ф'(*)+ p(xh 'j (x) + q{x)<?j(x)]dx =

к=1 fl

= J l / M - ф?(* )-/>(*№ (*)- ?(*)фо(*)][ф'(* )+ Я * )ф>W + ?(*)фу W]<bf. j = u

Обозначая

cy* = Дф*(*)+р (*)ф'*(х)+9(ас)ф*(аг)][ф^(х)+/?(х)<р^(дс)+9(х)(р/(х)]<1х,

a

f j = J I / W - ф;(х) - р (ас)ф^ х) - ? (х)фо(х)][ф;(х)+ р (х)ф' (X)+ ?(х)фДх)]<к,

a

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

п__

'£ ,c jkak = f j J = 1>n -

к=1

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

Выполнение расчетов

Точное решение поставленной задачи складывается из общего решения y l(x)=Cl sin(x)+ С2cos(x) и частного решения W = х >то есть

у{х) = С, sin(x)+ С2 cos(x)+ х .

С учетом граничных условий получается система уравнений относительно постоянных интегрирования:

|Я 0 )= С, sin(0)+ С2 cos(0)+ 0 = 1, V (l)= C ,cos(l)-C 2 sin(l)+l = 0,

откуда следует С, = (sin 1 - l)/cos 1, С2 = 1, и окончательно точное решение за­ дачи имеет вид (рис. 3.22) у(х) = х + cosх +(sin 1 - l)sin(x)/cos 1.

Для построения пробных функций используется система полиномов, являющаяся полной и замкнутой; каждый элемент этой системы дифференциру­ ется достаточное число раз. Пусть ф0(*)= с0 + С]Х. Для удовлетворения задан­ ным граничным условиям потребуем, чтобы сро(о)= 1 и Фо0) = 0. Из соответст­ вующей системы уравнений

 

 

|ф о(0 )=со+с, 0 = 1,

 

 

 

1 Фо(1)=с , = 0

 

следует, что с0 = 1, с, = 0

, то есть <р0 (х)= 1 .

 

Пусть

остальные

пробные функции представляются в

виде

Ф* =

dQxk +c/jX*+I, к = \,п . Для удовлетворения однородным

гра­

ничным условиям требуется выполнение равенств

 

Г <р*(о)=4 ,0 + 4 0 = о,

1<P;(I)= 4 ,* + 4 (A + I) = O.

Таблица 3.8

Коэффициенты Cjk и правая частьfj системы линейных алгебраических уравнений, полученной методом наименьших квадратов при п = 3

 

к= 1

2

3

£

Решение а}

 

1,86667

-1,56667

 

-0,35331

У = 1

-1,23810

-0,75000

2

-1,56667

9,97143

9,92143

1,15000

0,04982

3

-1,23810

9,92143

16,74290

1 , 1 0 0 0 0

0,01005

С использованием приближенных решений, полученных для разных л, оцениваются различия 5л я+| = 1ш х|ул(х )-у п+1(х)| между этими решениями, а

также отклонения 5„ = тах|ул(х )-<у(х)| получаемых приближенных решений от точного (рис. 3.24).

Рис. 3.23. Приближенное решение дифференциального уравнения у" + у = х с граничными условиями у(0 ) = 1, /( l) = 0 , полученное методом наименьших квадратов при п = 3

При п >10 отмечается рост погрешности решения, получаемого методом наименьших квадратов. Это связано с плохой обусловленностью матрицы ко­ эффициентов CJk: расчеты показывают, что уже при л = 20 определитель этой

матрицы уменьшается до КГ92.

Для снижения влияния накапливаемых погрешностей округления при про­ ведении вычислительных работ использовано 1 0 -байтовое представления ве­ щественных чисел в ЭВМ.

Рис. 3.24. Сходимость последовательности приближенных решений граничной задачи, полученных методом наименьших квадратов: за­ висимости погрешностей 5ЛЛ+1 (-о-) и 5Л(-А-) от числа п слагае­

мых в разложении искомой функции

Выводы

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

2.Построены разрешающие соотношения (система линейных алгебраиче­ ских уравнений) метода наименьших квадратов для поставленной задачи.

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

10 -байтовое представление вещественных чисел.

4.Показана сходимость последовательности приближенных решений и определена зависимость получаемой погрешности от числа слагаемых в разло­ жении искомой функции.

5.Для получения погрешности не выше 10"* необходимо взять не менее

пяти слагаемых в разложении решения по системе пробных функций.

6 . Для получения численного решения граничной задачи методом наимень­ ших квадратов с заданной погрешностью на компьютере с процессором Intel® Pen­ tium® 4 (тактовая частота 2,2 ГГц, объем оперативной памяти 512 Мбайт) требует­ ся 8 ,0 *1 0 -6 с.