Субботина Ю.А. Хббо-06-21
Практическая работа №5
"Численное решение обыкновенного дифференциального уравнения первого порядка методами Эйлера."
Цель работы:
Получить численное решение обыкновенного дифференциального уравнения (ОДУ) первого порядка простым и исправленным методами Эйлера и оценить погрешность полученного решения.
Теоретические основы:
Дано:
дифференциальное уравнение y’=f(x,y),
интервал изменения переменной x:[x0; xn],
шаг интегрирования h,
начальное условие y(x0)=y0.

Найти численное решение обыкновенного дифференциального уравнения (таблицу приближенных значений y1, y2, …, yn функции y(x) в точках x1, x2,…,xn).

Простой метод Эйлера:
Значение y в следующей точке рассчитывается на основе предыдущего значения y и производной в предыдущей точке:
yi+1 = yi+hf(xi,yi),
xi = x0+ih, i=0,1,2,…,n.

Исправленный метод Эйлера:
Значение y в следующей точке рассчитывается на основе предыдущего значения y и значений производной в начале и в конце отрезка (в точках (xi,yi) и (xi+h, yi+hf(xi,yi)): yi+1 = yi+0.5h[f(xi,yi)+f(xi+h, yi+hf(xi,yi))],
xi=x0+ih, i=0,1,2,…,n.
или K1 = f(xi,yi)
К2 = f(xi+h, yi+hf(xi,yi))
Фi = 0,5 (K1+ K2)
yi+1 = yi+hФi
Точность численного решения оценивается по правилу двойного пересчета. Необходимо проделать вычисления не только с шагом h, но и с шагом h/2. Далее сравнить значения, полученные при одних и тех же значениях x:
е= (max | yi^(h) -yi^(h/2)|)/(2^k -1),
где k – порядок метода,
k=1 для простого метода Эйлера и k=2 для исправленного метода Эйлера.

Построение диаграмм:
По таблице построить точечные диаграммы y (h/2) и y (h) от x для простого и исправленного методов Эйлера. При построении диаграмм необходимо задать названия осей координат и диаграммы в целом. Отформатировать шкалу оси ординат таким образом, чтобы точки были хорошо видны на диаграмме.
Вывод:
Для расчётов были использованы следующие формулы и понятия:

Простой метод:
x = Текущее значение переменной x, изменяемое с шагом h/2
y^(h/2) = Текущее значение переменной y, рассчитанное с шагом h/2 по формуле yi+1=yi+(h/2)*f(xi,yi)
y^(h) = Текущее значение переменной y, рассчитанное с шагом h по формуле yi+1=yi+h*f(xi,yi) (столбец заполняется через строку)
d = Значение погрешности в текущей точке вычисляется по формуле | yi (h) -yi (h/2) | (столбец заполняется через строку)

Исправленный метод:
y^(h/2) = Текущее значение переменной y, рассчитанное с шагом h/2 по формуле yi+1=yi+(h/2)*Ф^(h/2) (xi,yi)
K1^(h/2) = Текущее значение f(xi,yi), рассчитанное с шагом h/2
K2^(h/2) = Текущее значение f(xi+h/2, yi+(h/2)*K1^(h/2)) рассчитанное с шагом h/2
Ф^(h/2) = Текущее значение Ф(xi,yi), рассчитанное с шагом h/2 по формуле
Фi= 0.5(K1^(h/2)+ K2^(h/2))
y^(h) = Текущее значение переменной y, рассчитанное с шагом h по формуле yi+1=yi+h*Ф^(h) (xi,yi) (столбец заполняется через строку)
K1^(h) = Текущее значение f(xi,yi), рассчитанное с шагом h (столбец заполняется через строку)
K2^(h) = Текущее значение f(xi+h, yi+h*K1^(h) ), рассчитанное с шагом h (столбец заполняется через строку)
Ф^(h) = Текущее значение Ф(xi,yi), рассчитанное с шагом h по формуле Фi=0.5(K1^(h)+ K2^(h) ) (столбец заполняется через строку)
d = Значение погрешности в текущей точке, рассчитанное по формуле | yi^(h) -yi^(h/2) | /3 (столбец заполняется через строку)

Для вычисления погрешности d в текущей точке использовать встроенную функцию ABS(), а для оценки погрешности решения в целом – встроенную функцию МАКС ().
This site was made on Tilda — a website builder that helps to create a website without any code
Create a website