Методы решения обыкновенных дифференциальных уравнений
Автор: yicihamihu • Февраль 2, 2019 • Лабораторная работа • 1,413 Слов (6 Страниц) • 558 Просмотры
Московский Технический Университет
Связи и Информатики
Кафедра Информатики
1.5 Лабораторная работа по теме
«Методы решения обыкновенных дифференциальных уравнений»
Москва 2018
Задание
- Выбрать индивидуальное задание в табл. 1.5-1 для решения обыкновенных дифференциальных уравнений:
- дифференциальное уравнение [pic 1];
- интервал [a;b] , где ищется решение дифференциального уравнения;
- начальные условия x0, y0;
- шаг интегрирования h0.
- Найти аналитическое решение[pic 2] заданного дифференциального уравнения, полагая его точным.
- Вычислить значения полученного решения[pic 3] на отрезке [a;b] с шагомh0.
- Найти численное решение дифференциального уравнения методом Эйлера - [pic 4] в точках отрезка [a;b] с шагом h0 с помощью «ручного счета».
- Вычислить значения погрешностей[pic 5]для[pic 6], [pic 7], [pic 8].
- Составить схему алгоритма, написать программу интегрирования дифференциальных уравнений методом Рунге-Кутты 4-го порядка с автоматическим выбором шага и провести контрольное тестирование на примере, рассмотренном в п. 1.5.5.
- Получить решение«расчетом на ПК» [pic 9] с шагом h0 и E =10-4.
- Вычислить значения погрешностей[pic 10], [pic 11]
- Графически проиллюстрировать решения[pic 12].
Индивидуальное задание:
№ вар | Уравнение | x0 | y0 | h0 | a | b |
3 | y' = x3 y2 | 0 | -2 | 0.2 | 0 | 2 |
Аналитическое решение
[pic 13]
[pic 14]
[pic 15]
[pic 16]
[pic 17]
Из начальных условий следует, что c = 2.
Аналитическое решение дифференциального уравнения:
[pic 18]
Значения точного решения ОДУ
С использованием Scilab
>> f = @(x,y)x.^3*y.^2;
>> [x,y]=ode23(f,0:0.2:2,-2)
x =
0
0.2000
0.4000
0.6000
0.8000
1.0000
1.2000
1.4000
1.6000
1.8000
2.0000
y =
-2.0000
-1.9985
-1.9750
-1.8786[pic 19]
-1.6605
-1.3344
-0.9825
-0.6843
-0.4661
-0.3177
-0.2205
>> [x,y]=ode45(f,0:0.2:2,-2)
x =
0
0.2000
0.4000
0.6000
0.8000
1.0000
1.2000
1.4000
1.6000
1.8000
2.0000
y =
-2.0000
-1.9984
-1.9747
-1.8783
-1.6600
-1.3333
-0.9819
-0.6848
-0.4677
-0.3201
-0.2223
>> plot(x,y)
>> grid on
Ручной расчёт
xi | y(xi) |
0 | -2 |
0.2 | -1.99840128 |
0.4 | -1.97472354 |
0.6 | -1.878287 |
0.8 | -1.66002656 |
1 | -1.33333333 |
1.2 | -0.98193244 |
1.4 | -0.68474391 |
1.6 | -0.46763936 |
1.8 | -0.32006145 |
2 | -0.22222222 |
...