- •Теоретическая часть
- •Методы решения обыкновенных дифференциальных уравнений
- •Метод Эйлера
- •Метод Рунге-Кутта
- •Численное интегрирование систем обыкновенных дифференциальных уравнений
- •Задание
- •Отчет по лабораторной работе должен содержать:
- •Контрольные вопросы
- •Варианты заданий
- •Хід виконання роботи
- •Результат завдання
- •Висновки
Задание
Для выбранной задачи выполните решение методом Эйлера и методом Рунге-Кутты с фиксированным шагом t (значение t возьмите равным десятой доле интервала интегрирования).
Выполните решение задачи в среде MatLab стандартными средствами (например, функцией odu45); нарисуйте график найденного решения.
Отчет по лабораторной работе должен содержать:
постановка задачи;
необходимый теоретический материал;
решение поставленной задачи;
анализ полученных результатов;
графический материал (если необходимо);
тексты программ.
Контрольные вопросы
Численные методы решения задачи Коши: вывод формулы метода Эйлера, его геометрическая интерпретация, устойчивость, оценка погрешности, влияние вычислительной погрешности.
Методы Рунге-Кутты. Вывод формул. Оценка погрешности.
Решение задачи Коши для систем дифференциальных уравнений. Задача Коши для уравнения m-го порядка.
Варианты заданий
№ |
f(t, y) |
t0 |
tk |
y0 |
№ |
f(t, y) |
t0 |
tk |
y0 |
1 |
|
0 |
1 |
3 |
14 |
|
1 |
2 |
0 |
2 |
|
1 |
2 |
0 |
15 |
|
0 |
0.5 |
1 |
3 |
|
0 |
2 |
1 |
16 |
y2t |
0 |
2 |
1 |
4 |
|
1 |
2 |
0 |
17 |
ye-2t |
0 |
1 |
1 |
5 |
|
2 |
3 |
1 |
18 |
tye-2t |
0 |
1 |
1 |
6 |
|
2 |
3 |
1 |
19 |
t2ye-2t |
0 |
1 |
1 |
7 |
tg(t)/y2 |
0 |
/4 |
1 |
20 |
tg(t)/y |
0 |
4 |
1 |
8 |
ye2t |
0 |
1 |
1 |
21 |
y2t2 |
0 |
1 |
1 |
Хід виконання роботи
%Метод Ейлера
N=100
x0=0 %Початкове значення інтервалу диференціювання
x1=1 %Кінцеве значення інтервалу диференціювання
y0=1 %Початкове значення аргумента
[Xe,Ye]=Euler(y0,x0,x1,N)
plot(Xe,Ye) %Візуалізація функції
Допоміжні файли
Файл euler.m (функція Euler)
function [X,Y]=Euler(y0,x0,x1,N)
dx=(x1-x0)/N; %Інтервал диференціювання
x(1)=x0; %Початкове значення x0
y(1)=y0; %Початкове значення y0
for i=1:N
x(i+1)=x(1)+dx*i; %Розрахунок значень x
y(i+1)=y(i)+dx*f(x(i),y(i)); %Розрахунок значень y
end
%Приведення x та y до нормального вигляду
X=x';
Y=y';
End
Файл f.m (розрахункова функція)
function F=f(x,y)
F=tan(x)/y*(2);
end
