Автор работы: Пользователь скрыл имя, 05 Мая 2013 в 11:52, лабораторная работа
Цель работы: освоить среду MATLAB, изучить алгоритмы решения дифференциальных уравнений численными методами, реализовать алгоритмы численных методов в среде MATLAB, научиться представлять решения дифференциальных уравнений в табличном и графическом видах.
Для ДУ вида получить решение аналитическим методом.
Реализовать метод Адамса и Рунге-Кутта 4-5 порядка точности в среде MATALAB.
Построить графики для всех трех методов.
ЛАБОРАТОРНАЯ РАБОТА №1
Решение дифференциальных уравнений в MATLAB с использованием численных методов Адамса и Рунге-Кутта
Цель работы: освоить среду MATLAB, изучить алгоритмы решения дифференциальных уравнений численными методами, реализовать алгоритмы численных методов в среде MATLAB, научиться представлять решения дифференциальных уравнений в табличном и графическом видах.
Содержание работы:
Вариант №11.
Аналитическое решение:
Создаем Blank M-File
function f=primer(x,y)
dy=2*x*exp(exp(x))+y*exp(x);
f=dy';
Примечание: primer (x,y) – произвольное имя функции.
Сохраняем M-File и переходим в Command Window.
Для запуска созданной программы в Command Window записываем
>> x0=0; <enter>
>> t0=0; <enter>
>> tf=1; <enter>
>> [x,y]=ode113(@primer,[t0,tf],
Результатом выполнения программы primer является
x =
0
0.0004
0.0009
0.0017
0.0034
0.0068
0.0136
0.0205
0.0273
0.0409
0.0546
0.0818
0.1091
0.1364
0.1637
0.2182
0.2728
0.3273
0.3819
0.4364
0.5364
0.6364
0.7364
0.8364
0.9364
1.0000
y =
0
0.0000
0.0000
0.0000
0.0000
0.0001
0.0005
0.0012
0.0021
0.0047
0.0086
0.0198
0.0363
0.0585
0.0870
0.1652
0.2767
0.4289
0.6311
0.8948
1.5907
2.6802
4.3775
7.0339
11.2378
15.1516
Запускаем функцию построения графиков
>> plot(x,y) <enter>
Получаем график решения Д.У. с начальными условиями по методу Адамса.
Метод Рунге-Кутта
Blank M-File уже создан.
Переходим в Command Window.
Для запуска созданной программы в Command Window записываем
>> x0=0; <enter>
>> t0=0; <enter>
>> tf=1; <enter>
>> [x,y]=ode45(@primer,[t0,tf],
Результатом выполнения программы primer является
x =
0
0.0250
0.0500
0.0750
0.1000
0.1250
0.1500
0.1750
0.2000
0.2250
0.2500
0.2750
0.3000
0.3250
0.3500
0.3750
0.4000
0.4250
0.4500
0.4750
0.5000
0.5250
0.5500
0.5750
0.6000
0.6250
0.6500
0.6750
0.7000
0.7250
0.7500
0.7750
0.8000
0.8250
0.8500
0.8750
0.9000
0.9250
0.9500
0.9750
1.0000
y =
0
0.0017
0.0072
0.0165
0.0302
0.0485
0.0719
0.1008
0.1357
0.1771
0.2257
0.2821
0.3471
0.4215
0.5063
0.6025
0.7112
0.8338
0.9717
1.1265
1.3001
1.4944
1.7119
1.9549
2.2266
2.5301
2.8690
3.2477
3.6708
4.1436
4.6722
5.2636
5.9254
6.6668
7.4978
8.4301
9.4771
10.6542
11.9786
13.4709
15.1543
Запускаем функцию построения графиков
>>plot(x,y) <enter>
Получаем график решения Д.У. с начальными условиями по методу Рунге-Кутта.
Переходим в Command Window.
Столбец х построен предыдущим методом.
Для реализации аналитического метода в Command Window записываем
>> g=x.^2*exp(exp(x)) <enter>
Результатом выполнения является
g =
0
0.0017
0.0072
0.0165
0.0302
0.0485
0.0719
0.1008
0.1357
0.1771
0.2257
0.2821
0.3471
0.4215
0.5063
0.6025
0.7112
0.8338
0.9717
1.1265
1.3001
1.4944
1.7119
1.9549
2.2266
2.5300
2.8690
3.2477
3.6708
4.1436
4.6722
5.2636
5.9254
6.6668
7.4978
8.4301
9.4771
10.6541
11.9786
13.4709
15.1543
Запускаем функцию построения графиков
>> plot(x, y, '*', x, g, '-') <enter>
Получаем графики решения Д.У. с начальными условиями , где график, изображенный с помощью ‘*’ – график решения Д.У. по методу Рунге-Кутта, ‘-‘ – по аналитическому методу.