- •Методичні рекомендації до вивчення дисціпліни "Комп’ютерне моделювання електронних схем, конструкцій та технологій електронних апаратів"
- •1.Загальні питання
- •2.Визначення полюсів схемних функцій
- •2.1.Метод дихотомії
- •2.2.Метод хорд
- •2.3.Метод дотичних
- •2.4.Пошук комплексних коренів нелінійних рівнянь
- •3.Визначення коефіціентів чутливості
- •3.1.Розрахунок перших частинних похідних функції
- •3.1.1.Схема 2т чисельного диференціювання
- •3.1.2.Схема 3т чисельного диференціювання
- •3.2.Розрахунок власних частинних похідних другого порядку
- •3.3.Розрахунок взаємних похідних другого порядку
- •4.Визначення міри відповідності характеристик реа
- •4.1.Метод прямокутників
- •4.2.Метод трапецій
- •4.3.Метод Симпсона
- •5.Модедювання радіоелектронних апаратів системами рівнянь
- •5.1.Метод Гауса
- •5.1.1.Розв’язання систем алгебраїчних рівнянь методом Гауса
- •5.1.2.Обчислення визначника матриці методом Гауса
- •5.1.3.Обернення матриці методом Гауса
- •5.2.Метод Жордана
- •5.2.1.Обернення матриці методом Жордана
- •5.3.Метод lu-факторизації
- •5.4.Метод опорного елементу
- •6.Ітераційні методи розвяЗувАння систем лінійних рівнянь
- •6.1.Метод Якобі
- •6.2.Метод Гауса-Зейделя
- •6.3.Метод послідовної верхньої релаксації
- •7.Моделюванні статичного режиму радіоелектронних засобів
- •7.1.Метод простої ітерації
- •7.2.Метод Ньютона
- •2.3 Метод продовження параметру
- •8.Інтерполяція та наближення кривими
- •8.1.Метод невизначених коефіціентів
- •8.2.Регресійний аналіз. Метод найменших квадратів
- •8.2.1.Лінійна регресія
- •8.2.2.Квадратична регресія
- •9.Розв’язання звичайних диференційних рівнянь
- •9.1.Постановка задачі
- •9.2.Метод Ейлера
- •9.3.Метод Ейлера-Коші
- •9.4.Метод Рунге-Кутта
- •Перелік літератури
9.3.Метод Ейлера-Коші
П ідвищення точності розрахунків грунтується на використанні ітераційних формул:
, |
(9.4) |
, |
що відповідає осередненню напрямку інтегрованої кривої в початковій (xi, yi) та в допоміжній (xi+1, y*i+1) точках підінтервалу. Методична похибка h3, бо метод неявно враховує похідні другого порядку.
Задача 9.4. Для задачі (9.1) розрахувати методом Ейлера-Коші значення уk для t0 = 0 з кроком h=0,1.
Розв'язок. Результати виконання 2 кроків аналізу вручну наведені в таблиці:
і=1; t1=0.1 |
у1*= у0 + hf(x1, y1) = 0+0,1(5-0)=0,5; у1= у0 + h[f(x1, y1)+ f(x2, y2)]/2=0+0,1[(5-0)+(5-0.5)]/2=0.475; |
і=2; t2=0.2 |
у2*= у1 + hf(x2, y2) = 0.475+0.1(5-0.475)=0,9275; у2= у1+ h[f(x2, y2)+ f(x3, y3)]/2= =0.475+0,1[(5-0.475)+(5-0.9275)]/2= 0.9049; |
Результати виконання 10 кроків аналізу на комп’ютері наведені в таблиці:
k |
tk |
уk-1 |
f(xi-1, yi-1) |
уk* |
f(xi, yi) |
уk |
ут |
, % |
1 |
0,1 |
0 |
5,0000 |
0,5000 |
4,5000 |
0,4750 |
0,4758 |
0,17 |
2 |
0,2 |
0,4750 |
4,5250 |
0,9275 |
4,0725 |
0,9049 |
0,9063 |
0,15 |
3 |
0,3 |
0,9049 |
4,0951 |
1,3144 |
3,6856 |
1,2939 |
1,2959 |
0,15 |
4 |
0,4 |
1,2939 |
3,7061 |
1,6645 |
3,3355 |
1,6460 |
1,6484 |
0,15 |
5 |
0,5 |
1,6460 |
3,3540 |
1,9814 |
3,0186 |
1,9646 |
1,9673 |
0,14 |
6 |
0,6 |
1,9646 |
3,0354 |
2,2682 |
2,7318 |
2,2530 |
2,2559 |
0,13 |
7 |
0,7 |
2,2530 |
2,7470 |
2,5277 |
2,4723 |
2,5139 |
2,5171 |
0,13 |
8 |
0,8 |
2,5139 |
2,4861 |
2,7626 |
2,2374 |
2,7501 |
2,7534 |
0,12 |
9 |
0,9 |
2,7501 |
2,2499 |
2,9751 |
2,0249 |
2,9639 |
2,9672 |
0,11 |
10 |
1,0 |
2,9639 |
2,0361 |
3,1675 |
1,8325 |
3,1573 |
3,1606 |
0,10 |
Порівняно з методом Ейлера похибка зменшилася на порядок.
9.4.Метод Рунге-Кутта
Метод Рунге-Кутта відноситься до однокрокових методів, де зважується замість диференціального рівняння нелінійне різницеве рівняння. Похибка метода складає h5. Нове значення функції розраховується за формулою
yi=yi-1+(k1+2k2+2k3+k4)/6, |
(9.5) |
де k1= hf(x, y);
k2= hf(x+h/2, y+k1/2);
k3= hf(x+h/2, y+k2/2);
k4= hf(x+h, y+k3) - допоміжні коефіцієнти.
Задача 9.5. Методом Рунге-Кутта розв’язати рівняння f =у'=3х2 для х 0, 10 з кроком інтегрування h =1 та у0=0.
Розв'язок. На першому кроці k=1 і х1=1:
k1= hf(х0, y0) = 1(302)=0;
k2= hf(х0+h/2, y0+k1/2)= 1(30.52)=0.75;
k3= hf(х0+h/2, y0+k2/2)= 1(30.52)=0.75;
k4= hf(х0+h, y+k3) = 1(312)=3;
y1= 0+(0+20.75+20.75+3)/6= 1.
Результати розрахунку десяти значень первісної наведені в таблиці:
х |
хk-1 |
yk-1 |
к1 |
к2 |
к3 |
к4 |
yk |
yт = х3 |
1 |
0 |
0 |
0 |
0,75 |
0,75 |
3 |
1 |
1 |
2 |
1 |
1 |
3 |
6,75 |
6,75 |
12 |
8 |
8 |
3 |
2 |
8 |
12 |
18,75 |
18,75 |
27 |
27 |
27 |
4 |
3 |
27 |
27 |
36,75 |
36,75 |
48 |
64 |
64 |
5 |
4 |
64 |
48 |
60,75 |
60,75 |
75 |
125 |
125 |
6 |
5 |
125 |
75 |
90,75 |
90,75 |
108 |
216 |
216 |
7 |
6 |
216 |
108 |
126,75 |
126,75 |
147 |
343 |
343 |
8 |
7 |
343 |
147 |
168,75 |
168,75 |
192 |
512 |
512 |
9 |
8 |
512 |
192 |
216,75 |
216,75 |
243 |
729 |
729 |
10 |
9 |
729 |
243 |
270,75 |
270,75 |
300 |
1000 |
1000 |
Методична похибка відсутня завдяки відсутності похідних первісної функції п’ятого порядку і вище.
Задача 9.6. Для задачі (9.1) методом Рунге-Кутта розрахувати десять значень уk для t0 = 0 з кроком h=0,1.
Розв'язок. Таким чином: y’= f(x,y)= 5-y; y0= 0; h= 0.1.
На першому кроці t1=0.1:
k1= h f(t0, y0)= 0.1(5-0)=0.5;
k2= h f(t0+h/2, y0+k1/2)= 0.1(5-0.25)=0.475;
k3= h f(t0+h/2, y0+k2/2)= 0.1(5-0.2375)=0.47625;
k4= h f(t0+h, y+k3)= 0.1(5-0.47625)=0.452375;
y1= 0+(0.5+20.475+20.47625+0.452375)/6= 0,475813.
Результати розрахунків для 10 кроків моделювання наведені в таблиці:
k |
х |
уk-1 |
k1 |
k2 |
k3 |
k4 |
уk |
ут |
1 |
0,1 |
0,0000 |
0,50000 |
0,47500 |
0,476250 |
0,452375 |
0,47581 |
0,47581 |
2 |
0,2 |
0,4758 |
0,45242 |
0,42980 |
0,430929 |
0,409326 |
0,90635 |
0,90635 |
3 |
0,3 |
0,9063 |
0,40937 |
0,38890 |
0,389921 |
0,370373 |
1,29591 |
1,29591 |
4 |
0,4 |
1,2959 |
0,37041 |
0,35189 |
0,352815 |
0,335128 |
1,64840 |
1,64840 |
5 |
0,5 |
1,6484 |
0,33516 |
0,31840 |
0,319240 |
0,303236 |
1,96735 |
1,96735 |
6 |
0,6 |
1,9673 |
0,30327 |
0,28810 |
0,288860 |
0,274379 |
2,25594 |
2,25594 |
7 |
0,7 |
2,2559 |
0,27441 |
0,26069 |
0,261372 |
0,248269 |
2,51707 |
2,51707 |
8 |
0,8 |
2,5171 |
0,24829 |
0,23588 |
0,236499 |
0,224643 |
2,75335 |
2,75336 |
9 |
0,9 |
2,7534 |
0,22466 |
0,21343 |
0,213993 |
0,203265 |
2,96715 |
2,96715 |
10 |
1 |
2,9672 |
0,20328 |
0,19312 |
0,193629 |
0,183922 |
3,16060 |
3,16060 |
В результатах – шість вірних знаків.
Задача 9.7. Методом Ейлера розв’язати рівняння у'=2х для х 0, 10 з кроком інтегрування h =1 та у0=0.
Розв'язок. Для k=1 та k=2:
k=1: х1=1; у1 = у0 + hf(x0, y0) = 0+1(20) = 0;
k=2: х2=2; у2 = у1 + hf(x1, y1) = 0+1(21) = 2.
Результати розрахунків для х 0, 10 наведені в таблиці.
k |
хk |
уk-1 |
dy |
уk |
yт = х2 |
абс |
відн, % |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
100 |
2 |
2 |
0 |
2 |
2 |
4 |
2 |
50 |
3 |
3 |
2 |
4 |
6 |
9 |
3 |
33 |
4 |
4 |
6 |
6 |
12 |
16 |
4 |
25 |
5 |
5 |
12 |
8 |
20 |
25 |
5 |
20 |
6 |
6 |
20 |
10 |
30 |
36 |
6 |
17 |
7 |
7 |
30 |
12 |
42 |
49 |
7 |
14 |
8 |
8 |
42 |
14 |
56 |
64 |
8 |
13 |
9 |
9 |
56 |
16 |
72 |
81 |
9 |
11 |
10 |
10 |
72 |
18 |
90 |
100 |
10 |
10 |
Задача 9.7. Методом Ейлера-Коші розв’язати рівняння у'=2х для х 0, 10 з кроком інтегрування h =1 та у0=0.
Розв'язок. Для k=1 та k=2:
k=1: х1=1; у1* = у0 + hf(x0, y0) = 0+1(20) = 0;
у1 = у0 + h[f(x0, y0)+ f(x1, y1*)]/2 = 0+1[(20)+(21)]/2 = 1;
k=2: х2=2; у2* = у1 + hf(x1, y1) = 1+ 1(21) = 3;
у2 = у1 + h[f(x1, y1)+ f(x2, y2*)]/2 = 1+1[(21)+(22)]/2 = 1+3 = 4.
Результати розрахунків для х 0, 10 наведені в таблиці.
k |
xk |
уk-1 |
dy |
уk* |
уk |
yт |
абс |
відн, % |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
2 |
2 |
1 |
2 |
3 |
4 |
4 |
0 |
0 |
3 |
3 |
4 |
4 |
8 |
9 |
9 |
0 |
0 |
4 |
4 |
9 |
6 |
15 |
16 |
16 |
0 |
0 |
5 |
5 |
16 |
8 |
24 |
25 |
25 |
0 |
0 |
6 |
6 |
25 |
10 |
35 |
36 |
36 |
0 |
0 |
7 |
7 |
36 |
12 |
48 |
49 |
49 |
0 |
0 |
8 |
8 |
49 |
14 |
63 |
64 |
64 |
0 |
0 |
9 |
9 |
64 |
16 |
80 |
81 |
81 |
0 |
0 |
10 |
10 |
81 |
18 |
99 |
100 |
100 |
0 |
0 |
Задача 9.8. Методом Ейлера-Коші розв’язати рівняння у'=3x^2 для х 0, 10 з кроком інтегрування h =1 та у0=0.
Розв'язок. Результати розрахунків для х 0, 10 наведені в таблиці.
k |
xk |
уk-1 |
dy |
уk* |
уk |
yт |
абс |
відн, % |
1 |
1 |
0,0 |
0 |
0,0 |
1,5 |
1 |
-0,5 |
-50,00 |
2 |
2 |
1,5 |
3 |
4,5 |
9,0 |
8 |
-1,0 |
-12,50 |
3 |
3 |
9,0 |
12 |
21,0 |
28,5 |
27 |
-1,5 |
-5,56 |
4 |
4 |
28,5 |
27 |
55,5 |
66,0 |
64 |
-2,0 |
-3,13 |
5 |
5 |
66,0 |
48 |
114,0 |
127,5 |
125 |
-2,5 |
-2,00 |
6 |
6 |
127,5 |
75 |
202,5 |
219,0 |
216 |
-3,0 |
-1,39 |
7 |
7 |
219,0 |
108 |
327,0 |
346,5 |
343 |
-3,5 |
-1,02 |
8 |
8 |
346,5 |
147 |
493,5 |
516,0 |
512 |
-4,0 |
-0,78 |
9 |
9 |
516,0 |
192 |
708,0 |
733,5 |
729 |
-4,5 |
-0,62 |
10 |
10 |
733,5 |
243 |
976,5 |
1005,0 |
1000 |
-5,0 |
-0,50 |