Решение дифференциального уравнения с последующей аппроксимацией
Категория реферата: Рефераты по информатике, программированию
Теги реферата: курсовик, игра реферат
Добавил(а) на сайт: Бутылин.
Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата
[pic]
Рис.2. Графическая интерпретация метода Эйлера - Коши.
Решение yi+1, найденное методом Эйлера - Коши, намного ближе к точному решению, чем решение yi+1(, найденное методом Эйлера. Погрешность метода пропорциональна шагу h во второй степени, т.е. метод Эйлера - Коши имеет второй порядок точности.
2. РУЧНОЙ РАСЧЁТ РЕШАЕМОЙ ЗАДАЧИ
По условию задачи нужно решить дифференциальное уравнение y = x + cos ( y / (0.3 ) с начальными условиями x0 = 0.7, y0 = 2.1 на интервале [ 0.7 ; 1.7 ] с шагом h = 0.1 .
По формуле метода Эйлера -Коши yi+1( = yi + h f( xi ; yi ), yi+1 = yi + h (f( xi ; yi ) + f(
xi+1 ; yi+1()) / 2
Найдем y1( и y1
f( x0 ; y0 ) = 0.7 + cos (2.1 / (0.3 ) = - 0.069675
x1 = x0 + h = 0.7 + 0.1=0.8
y1* = y0 + h * f( x0 ; y0 ) = 2.1 + 0.1 * (- 0.069675) = 2.093032
y1 = 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.02757
x2 = 0.8 + 0.1 = 0.9
y2* = 2.09763 + 0.1 * 0.02757 = 2.100387
y2 = 2.09763 + 0.1 * (0.02757 + 0.130776) / 2 = 2.105547
f( x2 ; y2 ) = 0.9 + cos (2.105547 / (0.3 ) = 0.136831
x3 = 0.9 + 0.1 = 1
y3* = 2.105547 + 0.1 * 0.136831 = 2.11923
y3 = 2.105547 + 0.1 * (0.136831 + 0.25321) / 2 = 2.125049
f( x3 ; y3 ) = 1 + cos (2.125049 / (0.3 ) = 0.260317
x4 = 1+ 0.1 = 1.1
y4* = 2.125049 + 0.1 * 0.260317 = 2.1510807
y4 = 2.125049 + 0.1 * (0.260317 + 0.393124) / 2 = 2.157721
f( x4 ; y4 ) = 1.1 + cos (2.157721 / (0.3 ) = 0.401751
x5 = 1.1 + 0.1 = 1.2
y5* = 2.157721+ 0.1 * 0.401751 = 2.1978961
y5 = 2.157721 + 0.1 * (0.401751 + 0.556089) / 2 = 2.205613
f( x5 ; y5 ) = 1.2 + cos (2.205613 / (1.3 ) = 0.566933
x6 = 1.2 + 0.1 = 1.3
y6* = 2.205613 + 0.1 * 0.566933 = 2.2623063
y6 = 2.205613 + 0.1 * (0.566933 + 0.750302) / 2 = 2.271475
f( x6 ; y6 ) = 1.3 + cos (2.271475 / (0.3 ) = 0.764362
x7 = 1.3 + 0.1 = 1.4
y7* = 2.271475 + 0.1 * 0.764362 = 2.347911
y7 = 2.271475 + 0.1 * (0.764362 + 0.987033) / 2 = 2.359045
f( x7 ; y7 ) = 1.4 + cos (2.359045/ (0.3 ) = 1.005629
x8 = 1.4 + 0.1 = 1.5
y8* = 2.359045 + 0.1 * 1.005629 = 2.4596079
y8 = 2.359045 + 0.1 * (1.005629 + 1.280033) / 2 = 2.473328
f( x8 ; y8 ) = 1.5 + cos (2.473328 / (0.3 ) = 1.304536
x9 = 1.5+ 0.1 = 1.6
y9* = 2.473328 + 0.1 * 1.304536 = 2.6037816
y9 = 2.473328 + 0.1 * (1.304536 + 1.6414317) / 2 = 2.620626
f( x9 ; y9 ) = 1.6 + cos (2.620626 / (0.3 ) = 1.6721351
x10 = 1.6 + 0.1 = 1.7
y10* = 2.620626 + 0.1 * 1.6721351 = 2.7878395
y10 = 2.620626 + 0.1 * (1.6721351 + 2.068584) / 2 = 2.807662
Для оценки погрешности вычислений найдём решение дифференциального
уравнения с шагом h / 2 до третьей точки:
f( x0 ; y0 ) = 0.7 + cos (2.1 / (0.3 ) = - 0.069675
x1 = 0.7 + 0.05 = 0.75
y1* = 2.1 + 0.05 * (- 0.069675) = 2.096516
y1 = 2.1 + 0.05 * ((- 0.069675) + ( - 0.02372)) / 2 = 2.097665
f( x1 ; y1 ) = 0.75 + cos (2.097665 / (0.3 ) = - 0.022389
x2 = 0.75 + 0.05 = 0.8
y2* = 2.097665 + 0.05 * (- 0.022389) = 2.096546 y2 = 2.097665 + 0.05 * ((- 0.022389) + 0.026314) / 2 = 2.097763 f( x2 ; y2) = 0.8 + cos (2.097763 / (0.3 ) = 0.027724 x3 = 0.8 + 0.05 = 0.85 y3* = 2.097763 + 0.05 * 0.027724 = 2.0991492 y3 = 2.097763 + 0.05 * (0.027724 + 0.079334) / 2 = 2.10044 f( x3 ; y3) = 0.85 + cos (2.10044 / (0.3 ) = 0.080838 x4 = 0.85 + 0.05 = 0.9 y4* = 2.10044 + 0.05 * 0.080838 = 2.1044819 y4 = 2.10044 + 0.05 * (0.080838 + 0.135575) / 2 = 2.10585 f( x4; y4) = 0.9 + cos (2.10585 / (0.3 ) = 0.137188 x5 = 0.9 + 0.05 = 0.95 y5* = 2.10585 + 0.05 * 0.137188 = 2.1127094 y5 = 2.10585 + 0.05 * (0.137188 + 0.195345) / 2 = 2.114164 f( x5; y5) = 0.95 + cos (2.114164 / (0.3 ) = 0.19709 x6 = 0.95 + 0.05 = 1 y6* = 2.114164 + 0.05 * 0.19709 = 2.1240185 y6 = 2.114164 + 0.05 * (0.19709 + 0.259053) / 2 = 2.125567
Для оценки погрешности вычислений используется правило Рунге:
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
* 10 -4
( ih/2 = (yih - yih/2) / (2p - 1) = (2.125567 - 2.125049) / 3 = 1.73 *
10 -4
Таблица 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 |
График решения дифференциального уравнения представлен на рисунке 3.
[pic]
2. АППРОКСИМАЦИЯ. МЕТОД НАИМЕНЬШИХ КВАДРАТОВ
1. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Исходя из постановки задачи, нужно аппроксимировать полученное в п.1.
решение ( Таблица 1. ) параболой методом наименьших квадратов, т.е. нужно
найти функцию, в данном случае параболу, которая в точках X ( I ) принимала
бы значения, как можно более близкие к значениям Y ( I ). Парабола
является функцией с тремя параметрами: F (x) = ax2 + bx + c
Сумма квадратов разностей значений функции и решений дифференциального
уравнения (Таблица 1.) должна быть минимальной, т.е.:
[pic]( ax2 + bx + c - yi )2 => min
Функция будет иметь минимум, когда все частные производные равны нулю.
DF / da = 0, dF / db = 0, dF / dc = 0
После преобразований получим систему уравнений: a11a + a12b + a13c = b1 a21a + a22b + a23c = b2 a31a + a32b + a33c = b3
где a11 = [pic] , a12 = a21 = [pic] , a13 = a22 = a31 = [pic], a23 = a32
=[pic]xi , a33 = n + 1 b1 = [pic]yi , b2 =[pic]xi yi , b3 =[pic]yi .
2.2. РУЧНОЙ РАСЧЁТ КОЭФФИЦИЕНТОВ СИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ
Рассчитаем коэффициенты системы трёх линейных уравнений по формулам, взятым из п.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 = 11
b1 = 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.83941
b2 = 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.119972
b3 = 2.1 + 2.09763 + 2.105547 + 2.125049 + 2.157721 + 2.205613 + 2.271475
+ 2.359045 + 2.473328 + 2.620626 + 2.807662 = 25.3237
Получим систему уравнений:
32.5094a + 22.968b + 16.94c = 40.83941
22.968a + 16.94b + 13.2c = 31.119972
16.94a + 13.2b + 11c = 25.3237
Теперь нужно решить эту систему методом Гаусса и найти коэффициенты a,b,c.
3. РЕШЕНИЕ СИСТЕМЫ УРАВНЕНИЙ МЕТОДОМ ГАУССА
Суть этого метода состоит в том, что систему линейных уравнений
преобразуют к системе с треугольной матрицей, а потом решают уравнения, начиная с последнего.
Решим систему уравнений, полученную в п. 2.2.:
Рекомендуем скачать другие рефераты по теме: диплом купить, реферат на тему человек.
Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата