IT Novella
y ‘ = f ( x , y ) , ( 1 )
f ( x , y ) — заданная непрерывная функция в области D. Задача нахождения решения этого уравнения, удовлетворяющего начальному условию
называется задачей Коши.
Метод Эйлера
Пусть требуется найти решение задачи Коши (1)-(2) на отрезке [a,b].
Разобьем отрезок [a,b] на n равных частей точками
i = 0 , 1 , … , n , h = b − a n .
Заменяя в уравнении (1) производную разностным отношением, получим y 1 − y 0 h = f ( x 0 , y 0 ) . Перепишем последнее уравнение в виде
y 1 = y 0 + h · f ( x 0 , y 0 ) Повторяя этот процесс, получим приближенное решение задачи (1)-(2).
Таким образом, итерационная формула метода Эйлера имеет вид
x i + 1 = a + i · h , y i + 1 = y i + h · f ( x i , y i ) , i = 0 , 1 , … , n
Пример. Решить методом Эйлера дифференциальное уравнение
y ‘ = 3 s i n 2 y + x
с начальным условием y(0)=2 на отрезке [0,1] с шагом h=0,1.
Метод Эйлера для решения дифференциального уравнения
Дано дифференциальное уравнение dy / dx = f (x, y) с начальным условием y (x0) = y0. Найти его приближенное решение, используя метод Эйлера .
Метод Эйлера:
В математике и вычислительной науке метод Эйлера (также называется вперед
Метод Эйлера) — числовая процедура первого порядка для решения обыкновенного дифференциала
уравнения (ОДУ) с заданным начальным значением.
Рассмотрим дифференциальное уравнение dy / dx = f (x, y) с начальным условием y (x0) = y0
тогда последовательная аппроксимация этого уравнения может быть задана как:
where h = (x(n) – x(0)) / n
h indicates step size. Choosing smaller
values of h leads to more accurate results
and more computation time.
Пример :
/ * Программа CPP, чтобы найти приближение
обыкновенного дифференциального уравнения
используя метод Эйлера. * /
using namespace std;
// Рассмотрим дифференциальное уравнение
// dy / dx = (x + y + xy)
float func( float x, float y)
return (x + y + x * y);
// Функция для формулы Эйлера
void euler( float x0, float y, float h, float x)
Поиск численных решений ОДУ (методы Эйлера, Эйлера-Коши и Рунге – Кутты ) C++
[ —>Скачать с сервера (110.5 Kb) — бесплатно] | 22.11.2009, 22:40 |