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

Вычислительная математика.-6

.pdf
Скачиваний:
5
Добавлен:
05.02.2023
Размер:
931.12 Кб
Скачать

x1 b12 x2 ... b1n xn q1 ,

(27)

где

 

 

 

a1 j

 

 

 

q

b

 

, j 2, n ,

b

 

1

.

1 j

 

a11

 

 

 

1

a11

 

 

 

 

 

 

Исключим x1 из остальных уравнений системы. Для этого

умножим (27) последовательно на

а21, а31,..., ап1 и вычтем из

второго, третьего и т.д. последнего уравнения системы. Преобразованные уравнения будут иметь вид:

a22.1x2 a23.1x3

... a2n.1xn b2.1,

...

(28)

 

an2.1x2 an3.1x3

... ann.1xn bn.1,

где aij.1 aij b1 j ai1, i, j 2, n, bi.1 bi ai1q1 .

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

В результате придем к одной из двух ситуаций.

1. После n шагов преобразований получим систему вида:

x1 b12 x2

b13 x3 ... b1n xn

q1 ,

 

 

x2

b23 x3 ... b1n xn

 

q2

,

(29)

 

...

 

 

 

 

 

 

 

 

 

xn

qn .

 

Решение полученной системы осуществляется снизу вверх следующим образом:

xn qn ,

i 1

 

 

 

(30)

xi qi bij x j ,

i n 1,1.

 

jn

2.После шага преобразований m n система приняла вид:

31

x1 b12 x2 b13 x3

... b1n xn

q1 ,

 

xm bm m 1xm 1

... bm n xn

qm ,

 

 

0

bm 1.n ,

(31)

 

 

...

 

 

0

bm.n .

 

Тогда, если среди элементов bm 1.n ,..., bm.n есть отличные от

нуля, то система (26) не имеет решения, если все,

bj.m 0 ,

j m 1, n , то система имеет бесчисленное множество решений (неизвестные xm 1,..., xn могут принимать любые значения, а x1,..., xm выражаются через них).

Приведение системы к виду (29) называется прямым ходом метода Гаусса, а нахождение ее решения (30) – обратным. Заметим, что на каждом шаге прямого хода метода Гаусса выбирается уравнение и неизвестное, подлежащие исключению из прочих уравнений. Это равносильно выбору коэффициента для очередного шага преобразований. Этот коэффициент называется ведущим и он должен быть отличным от нуля. Во избежание большой потери точности рекомендуется осуществлять такую перестановку уравнений, чтобы ведущий коэффициент являлся либо максимальным по модулю коэффициентом во всей системе, либо максимальным по модулю коэффициентом в выбранном уравнении. Такая процедура называется методом Гаусса с выбором главного элемента.

Задание 6.2. С помощью метода Данилевского найти собственные числа и собственные векторы матрицы А. Варианты значений матриц A приведены в приложении. Описание метода и методические указания приведены в учебном пособии [2].

32

Раздел 7. Численное решение дифференциальных уравнений

Практическое задание № 8. Численное решение дифференциальных

уравнений методом Рунге-Кутта

Задание 7.1. Найти решение задачи Коши для уравнения первого порядка вида

y f (x, y) , y(x0 ) y0 , на интервале [x0 0, X 0,4]

с помощью метода Рунге-Кутта для двух значений шага интегрирования h1 0,05 и h2 0,025 . По правилу Рунге оценить

погрешность метода. В приложении приведены варианты заданий.

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

Указания к выполнению. Рассмотрим основные формулы, позволяющие реализовать численное интегрирование уравнения первого порядка с помощью метода Рунге-Кутта.

Существует несколько формул Рунге-Кутта для решения дифференциального уравнения первого порядка. Наиболее распространенной является формула Рунге-Кутта 4-го порядка, которая имеет следующий вид:

y

y

 

1

(K (i) 2K

(i) 2K

(i) K (i) ) , (32)

 

i 1

i

 

6

1

2

3

4

 

 

 

 

 

 

 

где

K1(i ) h

K2(i ) h

K3(i ) h

K4(i) h

и K (i) K

 

 

 

 

 

j

(x , y ),

j 1, 4 .

j

i i

 

 

 

f (xi , yi ),

 

 

f (x

h

, y

K (i )

 

 

1

),

 

 

i

2

i

2

 

 

 

 

f (x

h

, y

K2(i )

),

 

 

i

2

i

2

 

 

 

 

f (x h, y K (i ) )

 

i

 

i

3

 

33

Оценка погрешности полученного решения для данного дифференциального уравнения согласно правилу Рунге для

данного метода определяется по формуле

 

 

 

yh y2h

 

 

 

 

 

М max

i

i

,

(33)

 

15

i

 

 

 

 

 

 

 

 

где yih и yi2h - решения, полученные с помощью метода Рунге-

Кутта с половинным и основным шагом.

Пример.

Требуется

решить

задачу Коши y f (x, y) ,

y(x0 ) y0 на

интервале

[x0 , X ] .

Решение найти с шагом

h 0,1 методом Рунге-Кутта и оценить погрешность решения,

применяя правило Рунге.

 

Исходные данные:

 

f (x, y)

x 1

,

y(0) 1, X 3 .

x 2 y2

 

 

 

Воспользовавшись формулами (32) найдем решение зада-

чи Коши с

шагом

h 0,1. Полученные значения

yi , i 0,31приведены в таблице.

i

0

1

2

3

4

5

6

7

 

 

 

 

 

 

 

 

 

yi

1,000000

0,951378

0,906036

0,864765

0,828295

0,797218

0,771926

0,752585

 

 

 

 

 

 

 

 

 

i

8

9

10

11

12

13

14

15

 

 

 

 

 

 

 

 

 

yi

0,739137

0,731346

0,728845

0,731190

0,737903

0,748507

0,762543

0,779586

 

 

 

 

 

 

 

 

 

i

16

17

18

19

20

21

22

23

 

 

 

 

 

 

 

 

 

yi

0,799246

0,821178

0,845071

0,870655

0,897689

0,925966

0,955302

0,985541

 

 

 

 

 

 

 

 

 

i

24

25

26

27

28

29

30

31

 

 

 

 

 

 

 

 

 

yi

1,016543

1,048189

1,080376

1,113012

1,146019

1,179329

1,212883

1,246629

34

Для оценки погрешности с помощью правила Рунге, найдем решение задачи на интервале [x0 , X ] с шагом h 0.2 . Полу-

 

 

 

 

 

 

 

 

 

 

 

 

ченные значения yi ,

i 0,15 приведены в таблице.

 

 

i

0

1

2

 

 

3

4

5

6

7

 

 

 

 

 

 

 

 

 

 

 

 

yi

1,000000

0,906035

0,828292

 

0,771922

0,739132

0,728840

0,737899

0,762539

 

i

8

9

10

 

11

12

13

14

15

 

 

 

 

 

 

 

 

 

 

 

 

yi

0,799242

0,845068

0,897686

 

0,955299

1,016540

1,080373

1,146016

1,212880

 

 

 

 

 

 

 

 

 

 

 

 

Оценка погрешности полученного решения для данного дифференциального уравнения согласно правилу Рунге для данного метода определяется по формуле (33). Для рассмотрен-

ного примера: М 3 10 7 .

Практическое задание № 9. Численное решение краевой задачи

Задание 7.2. Найти решение краевой задачи для обыкно-

венного дифференциального уравнения 2-го порядка y p(x) y q(x) y f (x) ,

y(0) , y(1) ,

на интервале [0, 1] методом сеток с шагом h 0,1. Варианты

заданий приведены в приложении.

Цель работы. Дать студентам навыки численного решения краевой задачи.

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

Пусть линейная краевая задача задана в виде:

 

 

q(x) y f (x) ,

(34)

y

p(x) y

 

y(a) ,

y(b) .

(35)

35

На

интервале a, b зададим

равномерную

сетку узлов

 

 

 

 

 

 

 

xi

a ih , i 0, n и обозначим

yi ,

i 0, n

значения прибли-

женного решения в точках xi

. В дифференциальном уравнении

(34) производные заменим разностными отношениями:

 

 

 

 

 

yi 1 yi

 

 

 

 

 

 

 

 

 

y (xi )

 

 

 

,

 

 

 

 

(36)

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yi 1 2 yi

yi 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y (xi )

 

 

h2

 

 

 

.

 

(37)

 

Тогда, записав уравнение (34) для точки

xi

и заменив про-

изводные в этой точке согласно (36), (37), получим систему линейных алгебраических уравнений вида:

y0

,

 

 

 

 

ai yi 1 bi yi ci yi 1 gi ,

i 1,i 1,

(38)

yn

,

 

 

 

 

где ai , bi , ci , gi получены приведением подобных членов после

замены производных. Система (38) является системой с трехдиагональной матрицей. Для решения таких систем используется метод прогонки. Согласно этому методу решение системы записывается в виде:

yi Li yi 1 Ki ,

(39)

где Li и Ki – неизвестные коэффициенты, которые называются

прогоночными.

 

Так как, при i 0

y0 и

 

y0 L0 y1 K0 ,

то

K0 ,

L0 0.

При i 1 имеем

y1 L1 y2 K1 ,

а из уравнения системы (38)

a1 y0 b1 y1 c1 y2 g1

36

или

y1 c1 y2 g1 a1K0 . b1 b1

Тогда для определения прогоночных коэффициентов получаются следующие рекуррентные соотношения:

L

 

ci

 

 

 

gi ai Ki 1

 

 

 

 

 

, K

i

,

i 1, n 1 . (40)

 

 

 

 

 

i

ai

Li 1 bi

 

 

ai

Li 1 bi

 

 

 

 

 

 

 

 

 

 

 

 

Решение системы (38) находится в обратном порядке следующим образом:

yn ,

 

 

yi 1 Li 1 yi Ki 1,

i n, n 1,..., 2 ,

(41)

y0 .

 

 

Итак, найденные значения yi

и будут представлять собой

решение краевой задачи.

37

САМОСТОЯТЕЛЬНАЯ РАБОТА

Задание:

1) Проработка лекционного материала по темам лекций (в соответствии с наименованиями разделов 1-7) и используя настоящее пособие, учебное пособие [1] и интернет ресурсы:

-Образовательный математический сайт

(www.exponenta.ru).

-Консультационный центр Matlab (www.matlab.ru).

-Поисковая система google.ru

2. Подготовка к практическим работам по темам из пп. 1-7.

3. Оформление отчетов по результатам выполнения практических заданий.

38

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Варианты к разделу № 1

 

 

 

 

 

 

 

 

1. Для значений аргумента

xi 1 xi

h вычислить

yi

По-

строить график функции y(x).

yi 1 yi

f (xi ) ,

i 0,1,2...8

 

2sin x 5x,

 

если 0 x 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

2

 

x

 

 

 

,

 

если 1 x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.124x

2

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0 0 h 0.2

 

 

 

 

y0

f (x0 ).

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Для значений аргумента

xi 1 xi

h вычислить

yi

По-

строить

 

график

 

 

 

функции

y(x).

 

yi 1 yi

3 0.3 f (xi 1 ) ,

i 0,1,2...10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 0.5x,

 

если 0 x 1

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

ln

 

x 3

 

,

 

 

 

 

если 1 x 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0 0

h 0.5

y0 f (x0 ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Для значений аргумента

xi 1 xi

h вычислить

yi

По-

строить

 

 

 

график

 

функции

y(x).

 

y

i 1

y 2 f (x

i

1

)3 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

i 0,1,2...15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln(10 x2 ),

 

если 0 x 0.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.25 x sin2

x,

если 0.5 x 10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0 0

h 0.15

y0

f (x0 ).

 

 

 

 

 

 

 

4. Для значений аргумента xi 1

xi h вычислить

yi

По-

строить

 

график

 

 

 

функции

y(x).

 

y

i 1

 

3y

i

1.5 f (x

i 1

)2 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 0,1,2...14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 1.5x

2

,

 

 

если 0 x 0.25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если 0.25 x 2

 

 

 

 

 

 

 

 

 

 

 

 

ln x 9.5,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0 0

h 0.05

y0

f (x0 ).

 

 

 

 

 

 

 

39

5. Для значений аргумента

xi 1 xi h вычислить

yi По-

строить график функции

y(x).

yi 1

 

 

yi

 

f (xi ) ,

 

yi

 

 

 

1

 

i0,1,2...10

ln2 (2 x), если 0 x 0.9

f (x)

0.5x2 ln x, если 0.9 x 2

 

 

 

 

 

 

 

 

x0 0

h 0.5

y0 f (x0 ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6. Для значений аргумента xi 1

xi

h

 

вычислить

yi

 

По-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

строить

график

функции

y(x).

 

y

i 1

3

 

2 0.3 f (x

i

1

) y

i

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 0,1,2...8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.25cos(x 3) x3 ,

если 0 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

x 10ln x,

 

если

x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0 0

h 0.4

y0 f (x0 ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7. Для значений аргумента

xi 1 xi

h вычислить

yi

 

По-

строить график функции y(x).

 

yi 1 yi sin yi 0.24 f (xi 1 ) ,

i 0,1,2...8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 2

 

 

 

 

 

если 0 x 0.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

 

 

 

ln x,

если 0.5 x

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.5x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0 0

h 0.5

y0 f (x0 ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8. Для значений аргумента xi 1

xi

h

 

вычислить

yi

 

По-

строить

график

 

функции

y(x).

 

y

i 1

2.1y 2

0.5 f (x

i 1

) ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

i 0,1,2...10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.7cos(x 1`)

, если 0 x 0.35

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.5x

2

ln x,

если 0.35 x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0 0

h 0.2

y0 f (x0 ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9. Для значений аргумента

xi 1 xi

h вычислить

yi

 

По-

 

 

 

 

 

 

 

 

 

 

 

 

y

 

3

 

 

 

 

 

 

строить

график

 

функции

y(x).

 

 

 

 

y

i 1

i

 

f (x

i 1

) ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 0,1,2...20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

40