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

книги / Численные методы. Ч. 4

.pdf
Скачиваний:
1
Добавлен:
20.11.2023
Размер:
6.88 Mб
Скачать

у(хк-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)+ х .