МІНІСТЕРСТВО ЗВ'ЯЗКУ РФ p>
СИБІРСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ p>
ТЕЛЕКОМУНІКАЦІЙ ТА ІНФОРМАТИКИ p>
ХАБАРОВСЬК ФІЛІЯ p>
К У Р С О В А Я Р А Б О Т А p>
ПО ІНФОРМАТИЦІ на тему: p>
розв'язків диференціальних рівнянь p>
З ПОСЛЕДУЮЩЕЙ Апроксимація РЕЗУЛЬТАТІВ p>
Роботу виконала: студентка I курсу спеціальності РРТ (ускор.) p>
Турчина шифр: 011р-469 p>
2001 p>
С О Д Е Р Ж А Н И Е p>
Індивідуальне завдання -
3
1. Рішення диференціального рівняння методом Ейлера - Коші
- 4
1.1. Теоретичні відомості -
4
1.2. Ручний розрахунок розв'язуваної задачі -
6
2. Апроксимація. Метод найменших квадратів - 9
2.1. Теоретичні відомості -
9
2.2. Ручний розрахунок коефіцієнтів системи лінійних рівнянь -
10
3. Рішення системи рівнянь методом Гаусса -
11
4. Знаходження значень апроксимуючої функції - 13
5. Розрахунок похибки апроксимації -
14
6. Побудова блок-схеми та розробка програми апроксимації - 16 p>
Література -
21 p>
ІНДИВІДУАЛЬНЕ ЗАВДАННЯ p>
1. Розв'язати диференціальне рівняння y = x + cos (y/(0.3) з початковими умовами x0 = 0.7 y0 = 2.1 на інтервалі [0.7; 1.7] з кроком h = 0.1.
2. Оцінити похибку обчислень при вирішенні диференціального рівняння методом Ейлера - Коші.
3. Апроксимувати отримане в п.1. рішення параболою методом найменших квадратів.
4. Розрахувати похибка апроксимації.
5. Побудувати графіки розв'язання диференціального рівняння, апроксимуючої функції і похибки апроксимації.
6. Скласти блок-схеми алгоритмів та програми для вирішення диференціального рівняння, обчислення коефіцієнтів апроксимуючої параболи, розрахунку похибки апроксимації мовою QBASIC. На друк видати:
- Значення функції y (xi), що є рішенням диференціального рівняння в точках xi, знайдені з кроком h і з кроком h/2;
- Значення апроксимуючої функції F (xi) в точках xi;
- Значення похибки апроксимації i = F (xi) - yi.
- Величину середньо - квадратичного відхилення. P>
1. Розв'язків диференціальних рівнянь p>
Метод Ейлера - Коші p>
1.1. ТЕОРЕТИЧНІ ВІДОМОСТІ p>
У відповідності з постановкою завдання потрібно знайти рішення диференціальногорівняння першого порядку, тобто знайти такі рішення y (x), якіперетворили б диференціальне рівняння в тотожність. Але так як такихрішень безліч, задані початкові умови - значення функції y (x) в точціx0, тобто y (x0) = y0, а так само інтервал [x0 - xn].
Рис. 1. показує, що за допомогою початкових умов з безлічі рішеньможна вибрати одне. p>
p>
Рис 1. Безліч рішень диференціального рівняння. P>
Метод Ейлера - Коші - найбільш точний метод розв'язання диференціальногорівняння (другий порядок точності). Цей метод передбачає наступнийпорядок обчислень: yi +1 (= yi + hf (xi; yi), де i = 0,1,2 ... n yi 1 = yi + h (f (xi; yi) + f (xi 1; yi +1 ())/2
Число значень n можна знайти, розділивши інтервал на крок: p>
n = (xn - xo)/h p>
Геометрично це означає, що визначається напрямок дотичної доінтегральної кривої в вихідної точки хi, yi і в допоміжній точціхi +1, yi 1 (, а в якості остаточного напрямки береться середнє цихнапрямків (показано пунктирною лінією на рис. 2) p>
p>
Рис.2. Графічна інтерпретація методу Ейлера - Коші. P>
Рішення yi 1, знайдене методом Ейлера - Коші, набагато ближче до точногорішення, ніж рішення yi +1 (, знайдене методом Ейлера. Похибка методупропорційна кроку h у другого ступеня, тобто метод Ейлера - Коші маєдругий порядок точності. p>
2. РУЧНИЙ РОЗРАХУНОК Завдання, які вирішуються
За умовою завдання потрібно вирішити диференціальне рівняння y = x + cos (y/(0.3) з початковими умовами x0 = 0.7,y0 = 2.1 на інтервалі [0.7; 1.7] з кроком h = 0.1.
За формулою методу Ейлера-Коші yi +1 (= yi + hf (xi; yi), yi 1 = yi + h (f (xi ; yi) + f (xi 1; yi +1 ())/2
Знайдемо y1 (і y1f (x0; y0) = 0.7 + cos (2.1/(0.3) = - 0.069675x1 = x0 + h = 0.7 + 0.1 = 0.8y1 * = y0 + h * f (x0; y0) = 2.1 + 0.1 * (- 0.069675) = 2.093032y1 = y0 + h * (f (x0; y0) + f (x0 + h; y1 *))/2 = 2.1 + 0.1 * ((-
0.069675) + 0.022266)/2 =
= 2.09763
Аналогічно знайдемо інші значення x і y:f (x1; y1) = 0.8 + cos (2.09763/(0.3) = 0.02757x2 = 0.8 + 0.1 = 0.9y2 * = 2.09763 + 0.1 * 0.02757 = 2.100387y2 = 2.09763 + 0.1 * (0.02757 + 0.130776)/2 = 2.105547f (x2; y2) = 0.9 + cos (2.105547/(0.3) = 0.136831x3 = 0.9 + 0.1 = 1y3 * = 2.105547 + 0.1 * 0.136831 = 2.11923y3 = 2.105547 + 0.1 * (0.136831 + 0.25321)/2 = 2.125049f (x3; y3) = 1 + cos (2.125049/(0.3) = 0.260317x4 = 1 + 0.1 = 1.1y4 * = 2.125049 + 0.1 * 0.260317 = 2.1510807y4 = 2.125049 + 0.1 * (0.260317 + 0.393124)/2 = 2.157721f (x4; y4) = 1.1 + cos (2.157721/(0.3) = 0.401751x5 = 1.1 + 0.1 = 1.2y5 * = 2.157721 + 0.1 * 0.401751 = 2.1978961y5 = 2.157721 + 0.1 * (0.401751 + 0.556089)/2 = 2.205613f (x5; y5) = 1.2 + cos (2.205613/(1.3) = 0.566933x6 = 1.2 + 0.1 = 1.3y6 * = 2.205613 + 0.1 * 0.566933 = 2.2623063y6 = 2.205613 + 0.1 * (0.566933 + 0.750302)/2 = 2.271475f (x6; y6) = 1.3 + cos (2.271475/(0.3) = 0.764362x7 = 1.3 + 0.1 = 1.4y7 * = 2.271475 + 0.1 * 0.764362 = 2.347911y7 = 2.271475 + 0.1 * (0.764362 + 0.987033)/2 = 2.359045f (x7; y7) = 1.4 + cos (2.359045/(0.3) = 1.005629x8 = 1.4 + 0.1 = 1.5y8 * = 2.359045 + 0.1 * 1.005629 = 2.4596079y8 = 2.359045 + 0.1 * (1.005629 + 1.280033)/2 = 2.473328f (x8; y8) = 1.5 + cos (2.473328/(0.3) = 1.304536x9 = 1.5 + 0.1 = 1.6y9 * = 2.473328 + 0.1 * 1.304536 = 2.6037816y9 = 2.473328 + 0.1 * (1.304536 + 1.6414317)/2 = 2.620626f (x9; y9) = 1.6 + cos (2.620626/(0.3) = 1.6721351x10 = 1.6 + 0.1 = 1.7y10 * = 2.620626 + 0.1 * 1.6721351 = 2.7878395y10 = 2.620626 + 0.1 * (1.6721351 + 2.068584)/2 = 2.807662
Для оцінки похибки обчислень знайдемо рішення диференціальногорівняння з кроком h/2 до третьої точки:f (x0; y0) = 0.7 + cos (2.1/(0.3) = - 0.069675x1 = 0.7 + 0.05 = 0.75y1 * = 2.1 + 0.05 * (- 0.069675) = 2.096516y1 = 2.1 + 0.05 * ((- 0.069675) + (- 0.02372))/2 = 2.097665f (x1; y1) = 0.75 + cos (2.097665/(0.3) = - 0.022389x2 = 0.75 + 0.05 = 0.8 p>
y2 * = 2.097665 + 0.05 * (- 0.022389) = 2.096546y2 = 2.097665 + 0.05 * ((- 0.022389) + 0.026314)/2 = 2.097763f (x2; y2) = 0.8 + cos (2.097763/(0.3) = 0.027724x3 = 0.8 + 0.05 = 0.85y3 * = 2.097763 + 0.05 * 0.027724 = 2.0991492y3 = 2.097763 + 0.05 * (0.027724 + 0.079334)/2 = 2.10044f (x3; y3) = 0.85 + cos (2.10044/(0.3) = 0.080838x4 = 0.85 + 0.05 = 0.9y4 * = 2.10044 + 0.05 * 0.080838 = 2.1044819y4 = 2.10044 + 0.05 * (0.080838 + 0.135575)/2 = 2.10585f (x4; y4) = 0.9 + cos (2.10585/(0.3) = 0.137188x5 = 0.9 + 0.05 = 0.95y5 * = 2.10585 + 0.05 * 0.137188 = 2.1127094y5 = 2.10585 + 0.05 * (0.137188 + 0.195345)/2 = 2.114164f (x5; y5) = 0.95 + cos (2.114164/(0.3) = 0.19709x6 = 0.95 + 0.05 = 1y6 * = 2.114164 + 0.05 * 0.19709 = 2.1240185y6 = 2.114164 + 0.05 * (0.19709 + 0.259053)/2 = 2.125567 p>
Для оцінки похибки обчислень використовується правило Рунге: p>
yi 1 = yih + (yih/2 - yih)/(2p - 1), де: р - порядок методу, для Ейлера - Коші р = 2
Розрахуємо похибка обчислення в точці х = 1. Знайдемо уточненерішення: y (1) = 2.125049 + (2.125567 - 2.125049)/(22 - 1) = 2.1252216
(ih = 2p (yih - yih/2)/(2p - 1) = 22 (2.125567 - 2.125049)/3 = 6.9 p>
* 10 -4
(ih/2 = (yih - yih/2)/(2p - 1) = (2.125567 - 2.125049)/3 = 1.73 * p>
10 -4 p>
Таблиця 1. Значення X і Y, отримані за допомогою ручного розрахунку.
| I | X (I) | Y (I) |
| 0 | 0.7 | 2.1 |
| 1 | 0.8 | 2.09763 |
| 2 | 0.9 | 2.105547 |
| 3 | 1 | 2.125049 |
| 4 | 1.1 | 2.157721 |
| 5 | 1.2 | 2.205613 |
| 6 | 1.3 | 2.271475 |
| 7 | 1.4 | 2.359045 |
| 8 | 1.5 | 2.473328 |
| 9 | 1.6 | 2.620626 |
| 10 | 1.7 | 2.807662 | p>
Графік рішення диференціального рівняння представлений на малюнку 3.
P>
2. Апроксимації. Метод найменших квадратів p>
1. ТЕОРЕТИЧНІ ВІДОМОСТІ p>
Виходячи з постановки задачі, потрібно апроксимувати отримане в п.1.рішення (Таблиця 1.) параболою методом найменших квадратів, тобто потрібнознайти функцію, в даному випадку параболу, яка в точках X (I) бралаб значення, як можна більш близькі до значень Y (I). Параболає функцією з трьома параметрами: F (x) = ax2 + bx + c
Сума квадратів різниць значень функції і рішень диференціальногорівняння (Таблиця 1.) повинна бути мінімальної, тобто: p>
(ax2 + bx + c - yi) 2 => min
Функція буде мати мінімум, коли всі приватні похідні дорівнюють нулю. p>
DF/da = 0, dF/db = 0, dF/dc = 0
Після перетворень отримаємо систему рівнянь: a11a + a12b + a13c = b1 a21a + a22b + a23c = b2 a31a + a32b + a33c = b3де a11 =, a12 = a21 =, a13 = a22 = a31 =, a23 = a32
= xi, a33 = n + 1 b1 = yi, b2 = xi yi, b3 = yi. p>
2.2. РУЧНИЙ Розрахунок коефіцієнта Системи лінійних рівнянь p>
Розрахуємо коефіцієнти системи трьох лінійних рівнянь за формулами,узятим з п.2.2.:а11 = 0.74 + 0.84 + 0.94 + 1.04 + 1.14 + 1.24 + 1.34 + 1.44 + 1.54 + 1.64 +
1.74 = 32.5094А12 = а21 = 0.73 + 0.83 + 0.93 + 1.03 + 1.13 + 1.23 + 1.33 + 1.43 + 1.53 +
1.63 + 1.73 = 22.9680А13 = А22 = а31 = 0.72 + 0.82 + 0.92 + 1.02 + 1.12 + 1.22 + 1.32
+1.42 +1.52 +1.62 +1.72 = 16.9400А23 = А32 = 0.7 + 0.8 + 0.9 + 1 + 1.1 + 1.2 + 1.3 + 1.4 + 1.5 + 1.6 + 1.7
= 13.2000а33 = n + 1 = 11b1 = 2.1 * 0.72 + 2.09763 * 0.82 + 2.105547 * 0.92 + 2.125049 * 1.02 +
2.157721 * 1.12 + 2.205613 * 1.22 + 2.271475 * 1.32 + 2.359045 * 1.42 +
2.473328 * 1.52 + 2.620626 * 1.62 + 2.807662 * 1.72 = 40.83941b2 = 2.1 * 0.7 + 2.09763 * 0.8 + 2.105547 * 0.9 + 2.125049 * 1.0 + 2.157721
* 1.1 + 2.205613 * 1.2 + 2.271475 * 1.3 + 2.359045 * 1.4 + 2.473328 * 1.5
+ 2.620626 * 1.6 + 2.807662 * 1.7 = 31.119972b3 = 2.1 + 2.09763 + 2.105547 + 2.125049 + 2.157721 + 2.205613 + 2.271475
+ 2.359045 + 2.473328 + 2.620626 + 2.807662 = 25.3237 p>
Отримаємо систему рівнянь: p>
32.5094a + 22.968b + 16.94c = 40.83941 p>
22.968a + 16.94b + 13.2c = 31.119972 p>
16.94a + 13.2b + 11c = 25.3237 p>
Тепер потрібно вирішити цю систему методом Гаусса і знайти коефіцієнти a, b, c. p>
3. Розв'язок системи рівнянь методу Гаусса p>
Суть цього методу полягає в тому, що систему лінійних рівняньперетворять до системи з трикутної матрицею, а потім вирішують рівняння,починаючи з останнього.
Вирішимо систему рівнянь, отриману в п. 2.2.: p>
Перше рівняння вважається основним, його ми не змінюємо. Друге рівнянняпотрібно перетворити так, щоб перша його коефіцієнт став дорівнює нулю. Дляцього другого рівняння потрібно помножити на такий множник, щоб першакоефіцієнти першого і другого рівняння стали рівні.
Знайдемо множник:
? 21 = а21/а11 = 22.968/32.5094 = 0.7065
Помножимо на нього першого рівняння:
32.5094a * 0.7065 + 22.968b * 0.7065 + 16.94 * 0.7065 = 40.83941 * 0.7065
Отримаємо:
22.968a + 16.2269b + 11.9681c = 28.853043
Тепер потрібно це рівняння почленно відняти з другого:
0a + 0.7131b + 1.2319c = 2.266929
Аналогічно перетворимо третього рівняння:i31 = a31/a11 = 16.94/32.5094 = 0.5211
32.5094a * 0.5211 + 22.968b * 0.5211 + 16.94c * 0.5211 = 40.83941 * 0.5211
16.94a + 11.9686b + 8.8274c = 21.281416
Віднімемо це рівняння з третього, отримаємо:
0a +1.2314 b + 2.1726c = 4.042284
Таким чином, вийде система, еквівалентна вихідної: p>
32.5094a + 22.968b + 16.94c = 40.83941 p>
0.7131b + 1.2319c = 2.266929 p>
1.2314b + 2.1726c = 4.042284
Третє рівняння потрібно перетворити так, щоб другий його коефіцієнт ставдорівнює нулю. Знайдемо множник:
? 32 = a32/a22 = 1.2314/0.7131 = 1.7268
Помножимо другого рівняння на нього:
0.7131b * 1.7268 + 1.2319c * 1.7268 = 2.266929 * 1.7268
1.2314b + 2.1272c = 3.914533
Віднімемо вийшло рівняння з третім:
0b + 0.0454c = 0.127751
Отримаємо трикутну матрицю, еквівалентну вихідної: p>
32.5094a + 22.968b + 16.94c = 40.83941 p>
0.7131b + 1.2319c = 2.266929 p>
0.0454c = 0.127751 < br>Тепер знайдемо коефіцієнти:c = 0.127751/0.0454 = 2.813899b = (2.266929 - 1.2319 * 2.813899)/0.7131 = - 1.682111a = (40.83941 - 16.94 * 2.813899 - 22.968 * (- 1.682111))/32.5094 =
0.978384 p>
Перевіримо результати обчислень, підставивши отримані значення коренів увихідну систему: p>
32.5094 * 0.978384 + 22.968 * (- 1.682111) + 16.94 * 2.813899 =
40.83941 p>
22.968 * 0.978384 + 16.94 * (- 1.682111) + 13.2 * 2.813899 = 31.119972 p>
16.94 * 0.978384 + 13.2 * (- 1.682111) + 11 * 2.813899 = 25.3237 p >
40.8394 (40.83941 p>
31.12 (31.119972 p>
25.3228 (25.3237 p>
Таким чином, рівняння апроксимуючої параболи має вигляд: p>
F (x) = 0.978384x2 - 1.682111x + 2.813899 p>
4. Знаходження ЗНАЧЕННЯ апроксимуються ФУНКЦІЇ p>
Знайдемо значення функції F (x) = 0.978384 x2 - 1.682111 x + 2.813899на інтервалі [0.7; 1.7] з кроком h = 0.1x0 = 0.7
F (x0) = 0.978384 * 0.72 - 1.682111 * 0.7 + 2.813899 = 2.118622x1 = x0 + h = 0.7 + 0.1 = 0.8
F (x1) = 0.978384 * 0.82 - 1.682111 * 0.8 + 2.813899 = 2.095734x2 = 0.8 + 0.1 = 0.9
F (x2) = 0.978384 * 0.92 - 1.682111 * 0.9 + 2.813899 = 2.092711x3 = 0.9 + 0.1 = 1.0
F (x3) = 0.978384 * 1.02 - 1.682111 * 1.0 + 2.813899 = 2.109553x4 = 1.0 + 0.1 = 1.1
F (x4) = 0.978384 * 1.12 - 1.682111 * 1.1 + 2.813899 = 2.14626x5 = 1.1 + 0.1 = 1.2
F (x5) = 0.978384 * 1.22 - 1.682111 * 1.2 + 2.813899 = 2.202831x6 = 1.2 + 0.1 = 1.3
F (x6) = 0.978384 * 1.32 -1.682111 * 1.3 + 2.813899 = 2.279266x7 = 1.3 + 0.1 = 1.4
F (x7) = 0.978384 * 1.42 - 1.682111 * 1.4 + 2.813899 = 2.375567x8 = 1.4 + 0.1 = 1.5
F (x8) = 0.978384 * 1.52 - 1.682111 * 1.5 + 2.813899 = 2.491732x9 = 1.5 + 0.1 = 1.6
F (x9) = 0.978384 * 1.62 - 1.682111 * 1.6 + 2.813899 = 2.627762x10 = 1.6 + 0.1 = 1.7
F (x10) = 0.978384 * 1.72 - 1.682111 * 1.7 + 2.813899 = 2.783656 p>
5. РОЗРАХУНОК Похибка апроксимації. P>
Для обчислення похибки апроксимації обчислимо величинусередньоквадратичне відхилення: p>
Тут yi - значення рішення диференціального рівняння, отримані вп.1.2. (див. Таблицю 1), F (xi) - значення апроксимуючої функції при тихж значеннях xi, отримані в п. 4. Їх різниця показує величинувідхилення апроксимуючої функції від аппроксіміруемой у вузлах xi.
Розрахуємо похибка апроксимації:
0 = F (x0) - y0 = 2.118622 - 2.1 = 0.018622
02 = 3.46779 * 10 - 4
1 = F ( x1) - y1 = 2.095734 - 2.09763 = - 0.001896
12 = 3.59482 * 10 - 6
2 = F (x2) - y2 = 2.092711 - 2.105547 = - 0.012836
22 = 1.64763 * 10 - 4 < br> 3 = F (x3) - y3 = 2.109553 - 2.125049 = - 0.015496
32 = 2.40126 * 10 - 4
4 = F (x4) - y4 = 2.14626 - 2.157721 = - 0.011461
42 = 1.31355 * 10 - 4
5 = F (x5) - y5 = 2.202831 - 2.205613 = - 0.002782
52 = 7.73953 * 10 - 6
6 = F (x6) - y6 = 2.279266 - 2.271475 = 0.007791
62 = 6.06997 * 10 - 5
7 = F (x7) - y7 = 2.375567 - 2.359045 = 0.06522
72 = 2.72977 * 10 - 4
8 = F (x8) - y8 = 2.491732 - 2.473328 = 0.08404
82 = 3.38707 * 10 - 4
9 = F (x9) - y9 = 2.627762 - 2.620626 = 0.007136
92 = 5.09225 * 10 - 5
10 = F (x10) - y10 = 2.783656 - 2.807662 = - 0.024006
102 = 5.76288 * 10 -4 p>
(= (0.0021939515 = (1.9945013 * 10 - 4 = 0.014122681 1.412268 *
10 - 2 p >
Дані розрахунків знесені в Таблицю 2. p>
Таблиця 2. Розрахунок похибки апроксимації.
| I | xi | yi | F (xi) | i | i2 |
| 0 | 0.7 | 2.1 | 2.118622 | 0.018622 | 3.46779 * 10 - 4 |
| 1 | 0.8 | 2.09763 | 2.095734 | - 0.001896 | 3.59482 * 10 - 6 |
| 2 | 0.9 | 2.105547 | 2.092711 | - 0.012836 | 1.64763 * 10 - 4 |
| 3 | 1.0 | 2.125049 | 2.109553 | - 0.015496 | 2.40126 * 10 - 4 |
| 4 | 1.1 | 2.157721 | 2.14626 | - 0.011461 | 1.31355 * 10 - 4 |
| 5 | 1.2 | 2.205613 | 2.202831 | - 0.002782 | 7.73953 * 10 - 6 |
| 6 | 1.3 | 2.271475 | 2.279266 | 0.007791 | 6.06997 * 10 - 5 |
| 7 | 1.4 | 2.359045 | 2.375567 | 0.06522 | 2.72977 * 10 - 4 |
| 8 | 1.5 | 2.473328 | 2.491732 | 0.08404 | 3.38707 * 10 - 4 |
| 9 | 1.6 | 2.620626 | 2.627762 | 0.007136 | 5.09225 * 10 - 5 |
| 10 | 1.7 | 2.807662 | 2.783656 | - 0.024006 | 5.76288 * 10 - 4 | p>
Графік похибки апроксимації представлений на малюнку 4.
Графік апроксимуючоїфункції представлений на малюнку 5. p>
6. ПОБУДОВА БЛОК-СХЕМИ І РОЗРОБКА ПРОГРАМИ Апроксимація p>
Блок-схема алгоритму розв'язання задачі апроксимації методом найменшихквадратів представлена на Рис. 6.
Першим кроком здійснюється введення значень X (I), Y (I), N.
Далі обнуляються значення всіх коефіцієнтів. У циклі розраховуютьсякоефіцієнти 3-х лінійних рівнянь. (див. п. 2.2). Після циклуприрівнюємо однакові коефіцієнти в матриці. Потім виконуєтьсяпідпрограма рішення лінійних рівнянь.
Наступним кроком відбувається опис функції користувача: p>
FNY (X) = K (1) X 2 + K (2) X + K (3) p>
Наступний цикл знаходить значення апроксимуючої функції, різниця міжцими значеннями і корінням диференціального рівняння Y (I), квадратрізниці, а також проводить їх підсумовування. Далі знаходиться величинапохибки апроксимації і всі дані виводяться на екран.
Загальна програма рішення диференціального рівняння з подальшоюапроксимацією результатів представлена на рис. 7 разом з програмоюрішення диференціального рівняння, так як з неї отримують значення X (I)і Y (I). p>
p>
Рис. 6. Блок-схема алгоритму розв'язання задачі апроксимації методом найменших квадратів. P>
CLS
PRINT "Знаходження коефіцієнтів за методом Ейлера - Коші"
X0 = 0.7
XN = 1.7
Y0 = 2.1
H = 0.1
N = (XN - X0)/H
DIM X (N)
DIM Y (N)
X (0) = X0
Y (0) = Y0
FOR I = 0 TO N - 1
X (I + 1) = X (I) + H
Y (I + 1) * = Y (I) + H * (X ( I) + COS (Y (I)/SQR (0.3)))
Y (I +1) = Y (I) + H * ((X (I) + COS (Y (I)/SQR (0.3 )))+( X (I +1) + COS (Y (I +1) */
SQR (0.3 ))))/ 2
PRINT "X ("; I; ")="; X (I),, "Y ("; I; ")="; Y (I)
NEXT I
I = 10: PRINT "X ("; I; ")="; X (I ), "Y ("; I; ")="; Y (I)
PRINT "Знаходження коефіцієнтів за методом найменших квадратів"
PRINT "і похибки апроксимації" a11 = 0: b1 = 0: a12 = 0 : b2 = 0: a13 = 0: b3 = 0: a23 = 0: a33 = N + 1
FOR I = 0 TO N a11 = a11 + X (I) ^ 4 a12 = a12 + X (I) ^ 3 a13 = a13 + X (I) ^ 2 a23 = a23 + X (I) b1 = b1 + (X (I) ^ 2) * Y (I) b2 = b2 + X (I) * Y (I) b3 = b3 + Y (I)
NEXT I a21 = a12: a22 = a13: a31 = a13: a32 = a23: S = 0
REM Початок підпрограми рішення СЛР методом Гаусса
DIM К (3) m21 = a21/a11 m31 = a31/a11 a22 = a22 - a12 * m21 a23 = a23 - a13 * m21 b2 = b2 - b1 * m21 a32 = a32 - a12 * m31 a33 = a33 - a13 * m31 b3 = b3 - b1 * m31 m32 = a32/a22 a33 = a33 - a23 * m32 b3 = b3 - b2 * m32
К (3) = b3/a33
К (2) = (b2 - К (3) * a23)/a22
До (1) = (b1 - К (3) * a13 - К (2) * a12)/a11
REM Кінець підпрограми рішення СЛР методом Гаусса
DIM F (N)
DEF FNY (X) = K (1) * X ^ 2 + K (2) * X + K (3)
PRINT "-------------------- -----------------------------------------------< br> ----------------"< br> PRINT "X (I) | y (I) | F (x (I)) | F (x (I)) - y ( I) | d ^ 2 "
PRINT "-------------------------------------- -----------------------------< br> ----------------"< br> FOR I = 0 TO N
F (I) = FNY (X (I))
D = F (I) - Y (I)
S = S + D ^ 2
PRINT X (I), Y (I), f (I), D, D ^ 2
NEXT I
E = SQR (S/(N + 1))
PRINT "Похибка ="; E
END p>
ЛІТЕРАТУРА p>
1. Вітенберг І.М. Програмування на мові БЕЙСІК. Москва. «Радіо та зв'язок» .1991. P>
2. Гері М., Джонсон Д. Обчислювальні машини і труднорешаемие завдання. P>
Пер. з англ. - Москва. «МИР» 1982. P>
3. Горбунова Н.Г. Методичні вказівки до лабораторних робіт по курсу p>
Інформатика, ч.2 «Чисельні методи» - Хабаровськ, 1996. P>
4. Спесивцев А.В. Посібник користувача з мови Бейсік. Москва. P>
«Радіо і зв'язок». 1992. «ВЕСТА». P>
5. Методичні вказівки для оформлення пояснювальних записок курсових і дипломних проектів - Хабаровськ, 1997. P>
----------------------- p>
11 p>