
- •І. Основні поняття
- •1.1. Класифікація диференціальних рівнянь у частинних похідних
- •1.2. Апроксимація частинних похідних
- •1. 3. Метод сіток (ідея методу)
- •Іі. Розв’язок змішаної задачі для рівняння теплопровідності методом сіток
- •2.1. Постановка задачі
- •2.2. Явна різницева схема. Проблема стійкості
- •IV. Лабораторна робота 1
- •Варіанти індивідуальних завдань
- •Контрольний приклад
- •V. Неявна різницева схема
- •5.1. Побудова неявної різницевої схеми
- •5.2. Обчислювальна схема (алгоритм) рішення неявної різницевої схеми методом прогону
- •5.3. Блок-схема алгоритму Структурна схема програми рішення першої крайової задачі для рівняння параболічного типу за неявною різницевою схемою методом прогону
- •5.4. Програма рішення першої крайової задачі дня рівняння параболічного типу методом прогону (за неявною схемою)
- •VI. Лабораторна робота 2
- •Контрольний приклад
- •VII. Схема кранкa –ніколсона
- •7.1. Зауваження про стійкість і точність розв’язку
- •7. 2. Побудова і рішення різницевої схеми Кранка - Ніколсона
- •7.3. Алгоритм рішення різницевої схеми Кранка – Ніколсона методом прогону
- •7. 5. Програма рішення першої крайової задачі для рівняння параболічного типу за різницевою схемою Кранка-Ніколсона
- •VIII. Лабораторна робота 3
- •Завдання
- •Контрольний приклад.
- •IX. Рішення змішаної задачі для хвильового рівняння методом сіток
- •9.1. Постановка задачі. Алгоритм методу
- •9. 2 . Обчислювальна схема рішення задачі
- •9.3. Структурна схема програми рішення змішаної задачі для хвильового рівняння методом сіток
- •9. 4. Программа рішення змішаної задачі для хвильового рівняння методом сіток
- •X. Лабораторна робота 4
- •Варіанти індивідуальних завдань
- •Контрольний приклад
- •Хі. Рішення рівняння лапласа методом сіток
- •11.1. Побудова різницевої схеми
- •11.2. Принцип максимуму. Оцінка похибок і збіжність рішень різницевих рівнянь
- •11. 3. Рішення еліптичної різницевої схеми
- •XII. Проблеми збіжності рішення. Алгоритм чисельного рішення
- •12.1 Збіжність рішення
- •12.2. Алгоритм чисельного рішення задачі Діріхлє для рівняння Лапласа ітераційним методом Гауса-Зейделя
- •12.3. Структурна схема програми рішення задачі Діріхлє для рівняння Лапласа методом сіток
- •12. 4. Програма рішення задачі Діріхлє для рівняння Лапласа
- •XIII. Лабораторна робота 5
- •Контрольний приклад
9. 2 . Обчислювальна схема рішення задачі
1.
Вибираємо крок сітки
h
по
осі х
і крок
по осі
t,
з урахуванням
(передбачається,
що усі величини задачі виміряються в
сумісних одиницях).
2.
Привласнюємо
.
3.
Обчислюємо
за формулою
(9.36)
значення рішення на нульовому шарі
(k=0):
i=1,2,3,…n-1...
4.
Обчислюємо за формулою
(9.38)
значення рішення на першому шарі (k=l):
.
5.
З граничних умов знаходимо значення
функції u(x,t)
у
граничних вузлах:
.
6. Знаходимо рішення на (k+1)-м шарі, виходячи зі значень на k-м і (k-l)-м шарах за формулою (9.35):
де i=1,2,…(n-1); k=1,2,…(m-1).
(no «к » — зовнішній цикл, по «і» — внутрішній цикл).
9.3. Структурна схема програми рішення змішаної задачі для хвильового рівняння методом сіток
9. 4. Программа рішення змішаної задачі для хвильового рівняння методом сіток
program metod_Sіtoc_for_Wave_Equ;
uses Crt;
type
Matrix=array [0..20,0..20] of real;
Vector=array [0..20] of real;
const
L=1; h=0.1; tay=0.05; m=10;
var
u: Matrix;
p,q: Vector;
k,i,n:integer;
lambda,ld:real;
function F(x:real):real; {u[i,0]}
begin F:=x*(1-x) end;
function G(x:real):real; {u[i,1]}
begin G:=cos(x); end;
function Fi(x:real):real; {u[0,k]}
begin Fi:=0; end;
function Psi(x:real):real; {u[n,k]}
begin Psi:=2*(x+1);end;
begin
ClrScr;
n:=trunc(L/h+0.5); {клькість точок по осі х задання початкових значень вузлів}
for k:=0 to m do begin
u[0,k]:=Fi(k*tay);
u[n,k]:=Psi(k*tay); end;
for i:=1 to (n-1) do begin
u[i,0]:=f(i*h);u[i,1]:=u[i,0]+tay*G(i*h);
end;
{основна обчислювальна процедура}
for k:=1 to m-1 do begin
for i:=1 to n-1 do begin
u[i,k+1]:=2*(1-sqr(lambda))*u[i,k]+sqr(lambda)*(u[i+1,k]+u[i-1,k])-
u[i,k-1];
end;
end;
{вивід результатів}
writeln('результати обчислень:');
Write(' ');
for i:=0 to n do
write(' ',i:2,' ');
writeln;
Write(' ');
for i:=0 to n do
write(' ',i*h:1:2,' ');
for k:=0 to m do begin
writeln;
write(k:2,' ');
for i:=0 to n do begin
write(u[i,k]:1:3,' ');
end;
end;
writeln;
writeln('кількість кроків по осі Ox= ',n:2);
writeln('крок розбиття= ',h:1:5);
writeln('крок по часовому шару= ',tay:1:5);
writeln('кількість кроків= ',m:2);
ReadKey
end.
X. Лабораторна робота 4
РІШЕННЯ ЗМІШАНОЇ ЗАДАЧІ ДЛЯ ХВИЛЬОВОГО РІВНЯННЯ МЕТОДОМ СІТОК
Завдання. Методом сіток вирішити змішану задачу для хвильового рівняння
в області
з
початковими умовами
і граничними умовами
Рішення
виконати з h=0,1,
.
Варіанти індивідуальних завдань
№ варі анту |
|
|
|
|
1 |
2 |
3 |
4 |
5 |
1 |
|
2х +1 |
2t+1 |
0 |
2 |
0,5x(x+1) |
Xcosx |
2t2 |
1 |
3 |
0,5(x2+1) |
1-x2 |
0,5+3t |
1 |
4 |
|
1-x2 |
0,5t |
2 |
5 |
|
(1+x)x2 |
0,5t |
t-1 |
6 |
|
2x+0,6 |
1+0,4t |
0 |
7 |
(x+0,5)2 |
|
0,5(0,5+t) |
2,25 |
8 |
1,5x-x2 |
|
0 |
0,5+2t |
9 |
(x+0,5)(x+1) |
|
0,5 |
3-3t |
10 |
0,5(x+1)2 |
|
0,5 |
2-3t |
11 |
x(x+1) |
Cos x |
0 |
2(t+1) |
12 |
|
x(2-x) |
2t |
-1 |
13 |
|
x2 |
1+2t |
0 |
14 |
(x+0,5)(x-1) |
|
t-0,5 |
3t |
15 |
2x(x+1)+0,3 |
2sint |
0,3 |
4,3+t |
16 |
|
1+x2 |
0 |
1,2(t+1) |
17 |
|
(x+1)2 |
2t |
0 |
18 |
3x(1-x) |
|
2t |
0 |
19 |
x(2x-0,5) |
cos2x |
t2 |
1,5 |
20 |
|
x+x2 |
0 |
0,5t |
21 |
|
(x+1)2 |
0,5t |
0 |
22 |
|
(x+0,6)2 |
0,5t |
0 |
23 |
|
2x2 |
0 |
t2 |
24 |
|
0,3(1+x2 ) |
0,4 |
1,2t |
25 |
x+1-x2 |
2sin(x+0,4) |
1 |
(1+t)2 |
Варіанти індивідуальних завдань(закінчення ) |
||||
26 |
0,4(x+0,5)2 |
xsin(x+0,5) |
0,1+0,5t |
0,9+t |
27 |
|
(x+0,5)2 |
0,5 |
2t-1,5 |
28 |
(x+2)(0,5x+1) |
2cosx |
2 |
4,5-3t |
29 |
(1+x2)(1-x) |
1-sinx |
1 |
0,5t |
30 |
|
1+x2 |
0,6t |
1,5t |