Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
Пермский Национальный Исследовательский Политехнический Университет
Лабораторная РАБОТА
на тему
«Методы Эйлера и Рунге-Кутта решения начальных
задач для обыкновенных дифференциальных уравнений»
Выполнили:
Студентка гр. МКЭ-09
Душкина Н. Р.
Проверил:
Пушкарёв Герман Артурович
Пермь 2012.
Содержание
ВВЕДЕНИЕ………………………………………………………..……………...3
Глава I. Теоретическая часть
1.1.Постановка задачи…………………………………….………………..…..…4
1.2. Численное дифференцирование. Разностная аппроксимизация..................5
1.3.Методы Рунге Кутта…………………………………………………………..6
1.4.Метод Эйлера (метод Рунге - Кутта первого порядка)……………………..7
1.5.Исправленный метод Эйлера……………………………………….……....10
1.6.О семействе методов Рунге-Кутта. Методы второгопорядка…….…...…12
Глава II. Практическая часть
2.1. Программный код……………………………..…………………………….17
ЗАКЛЮЧЕНИЕ…………………………………………………………...……20
БИБЛИОГРАФИЯ…………………………………………………...……..….21
ПРИЛОЖЕНИЕ...................................................................................................22
Введение
Целью курсовой работы было изучение методов Эйлера и Рунге-Кутта решения начальных задач для обыкновенных дифференциальных уравнений. В курсовую работу вошли такие методы, как простой метод Эйлера, исправленный метод Эйлера, метод Рунге-Кутты (Хойна) и метод средней точки.
Для достижения цели были поставлены следующие задачи:
Изучение каждого метода
Создание и отладка программы для решения обыкновенных дифференциальных уравнений с заданными начальными условиями каждым методом;
Для достижения поставленной цели выявились следующие задачи:
Собрать теорию, касающуюся темы курсовой
Составить алгоритм решения обыкновенных дифференциальных уравнений с заданными начальными условиями каждым методом
Реализовать алгоритм в программе Pascal;
Курсовая работа состоит из 2 глав. В первую главу вошла теоретическая часть по изучаемым методам. Во вторую главу вошла практическая часть, в том числе программный код.
Глава 1.Теоретическая часть
Постановка задачи.
Будем рассматривать обыкновенное дифференциальное уравнение (сокращенно ОДУ) первого порядка
y=f(x,y) x ϵ [x_0,x_n] (1.1)
с начальным условием
y (x_0 )=y_0 (1.2)
гдеf(x,y) - некоторая заданная, в общем случае, нелинейная функция двух переменных. Будем считать, что для данной задачи (1.1) - (1.2), называемой начальной задачей или задачей Коши, выполняются требования, обеспечивающие существование и единственность на отрезке[x_0,x_n ]её решения y=y(x). Более того, не оговаривая это отдельно, будем предполагать, что искомое решение обладает той или иной степенью гладкости, необходимой для построения и «законного» применения того или иного метода.
Необходимо найти на отрезке [x_0,x_n ]такую непрерывную функциюy=y(x), которая удовлетворяет дифференциальному уравнению (1.1) и начальному условию (1.2), т.е. найти решение дифференциального уравнения. Нахождение такого решения называют решением задачи Коши. Численное решение этой задачи состоит в построении таблицы приближенных значений 1,2,…,n решения уравненияy(x)в точках x_1,x_2,…x_n с некоторым шагом h.
К численному решению обыкновенных дифференциальных уравнений приходится обращаться, когда не удаётся построить аналитическое решение задачи через известные функции, хотя для некоторых задач численные методы оказываются более эффективными даже при наличии аналитических решений.
1.2. Численное дифференцирование
Разностная аппроксимация
Пусть на [a,b]введена сеточная область
Ωm={x_0=a,x_i=a+ih,i=0,m}c шагомh=(b-a)/m. В -ом узле области Ωmприближенное значение f^ (x) можно представить 3-мя (возможно и больше) способами:
f ′I,x= (f(xi+1)-f(xi))/h – “правая аппроксимация”
f ′I,x=(f(xi)–f(xi+1))/h– “левая аппроксимация”
f′I,x=(f(xi+1)–f(xi-1))/2h – “симметричная аппроксимация”
1.3.Методы Рунге – Кутта
Широкая категория методов, наиболее часто применяемых на практике для решения дифференциальных уравнений, известна под общим названием: методы Рунге - Кутта. Различные методы этой категории требуют большего или меньшего объема вычислений и, соответственно, обеспечивают большую или меньшую точность.
Методы Рунге - Кутта обладают следующими отличительными свойствами:
эти методы являются одноступенчатыми, т.е. чтобы найти значение функции в точке y_(i+1) нужна информация только о предыдущей точке(y_i,x_i);
они согласуются с рядом Тейлора вплоть до членов порядка h^k, где степень k определяет порядок метода;
эти методы не требуют вычисления производных отf(x,y), а требуют вычисления самой функции.
Именно благодаря последнему свойству методы Рунге - Кутта более удобны для практических вычислений.
1.4. Метод Эйлера (метод Рунге - Кутта первого порядка)
Простейшим из численных методов решения дифференциальных уравнений является метод Эйлера. Это один из самых старых и широко известных методов. Метод Эйлера является сравнительно грубым методом решения дифференциальных уравнений, однако идеи, положенные в его основу, являются, по существу, исходными для очень широкого класса численных методов.
Пусть требуется найти приближенное решение дифференциального уравнения первого порядка
y=f(x,y), (1.1)
с начальным условием
y(x_0 )=y_0 (1.2)
т.е. необходимо решить задачу Коши.
В окрестности точки x_0 функциюy(x)разложим в ряд Тейлора
y(x)=y(x_0 )+(x-x_0 )∙y(x_0 )+(x-x_0 )^2/2∙y(x_0 )+⋯ (1.3)
который можно применить для приближенного определения искомой функции y(x). В точке x_0+h при малых значениях h можно ограничиться двумя членами ряда (1.3), тогда,
y(x)=y(x_0+h)=y(x_0 )∙y(x_0 )∙∆x+O(h^2) (1.4)
где O(h2) - бесконечно малая величина порядка h2. Заменим производную y^ (x_0), входящую в формулу (1.3), на правую часть уравнения (1.1)
y(x_0+h)≈y_0+h∙f(x_0,y_0) (1.5)
Теперь приближенное решение в точке x_1=x_0+hможно вновь рассматривать как начальное условие и по формуле (1.5) найти значение искомой функции в следующей точке x_2=x_1+h. В результате получен простейший алгоритм решения задачи Коши, который называется методом Эйлера или методом ломаных.
Метод Эйлера можно представить в виде последовательного применения формул:
для точки
(1.6)
… … … … … … … … … … ...
(1.7)
Таким образом, формула Эйлера в общем случае имеет вид:
, (1.8)
Название “метод ломаных” связано с его геометрической интерпретацией:
Пользуясь тем, что в точке x_0известно и значение решения y(x_0 )=y_0(согласно 1.2)), и значение его производной y^ (x_0 )=f(x_0,y_0) (согласно 1.1)), можно записать уравнение касательной к графику искомой функции y=y(x)в точке (x_0,y_0):
y=y_0+f(x_0,y_o )(x-x_0) (1.9)
При достаточно малом шаге h ордината
y_1=y_0+h∙f(x_0,y_0) (1.10)
этой касательной, полученная подстановкой в правую часть (1.9) значения x_1=x_0+hпо непрерывности должна мало отличаться от ординаты y(x_1)решенияy(x)задачи (1.1)—(1.2).
Следовательно, точка(x_1,y_1) пересечения касательной (1.9) с прямойx=x_1 может быть приближенно принята за новую начальную точку. Через эту точку снова проведем прямую
y=y_1+f(x_1,y_1 )∙(x-x_1),
которая уже приближенно отражает поведение касательной к y=y(x) в точке(x_1,y(x_1 )). Подставляя сюда x=x_2=(x_1+h), иначе, пересекая эту «касательную» прямойx=x_2, получим приближение значения y(x_2)значением y_2=y_1+h∙f(x_1,y_1)и т.д. В итоге этого процесса, определяемого формулой
y_(i+1)=y_1+h∙f(x_i,y_i)i=0,1,…,n (1.8)
и называемого методом Эйлера, график решенияy=y(x)данной задачи Коши (1.1)-(1.2) приближенно представляется ломаной, составленной из отрезков приближенных касательных (рис. 1.1), откуда происходит другое название метода (1.8) —метод ломаных.
.
Рис.1.1.Геометрическая интерпретация метода Эйлера
1. 5. Исправленный метод Эйлера
Пусть найдено приближенное значение y_i≈y(x_i) решения y=y(x) задачи (1.1)-(1.2) и требуется вычислить y_(i+1)≈y(x_(i+1)) гдеx_(i+1)=x_i+h. Запишем разложение решения по формуле Тейлора р-го порядка, принимая за базовую точку x_i, (т.е. по степенямx-x_i, ) и положим в этом разложенииx=x_(i+1). Имеем
y(x_(i+1) )=y(x_i )+h∙y^ (x_i )+1/2! h^2 y^ (x_i )+⋯+1/p! h^p y^p (x_i )+O(h^(p-1)) (1.11)
Если ограничится двумя слагаемыми в правой части разложения (1.11), то получим обычный метод Эйлера (1.8). Посмотрим, что дает учитывание третьего слагаемого.
При р = 2 из (1.11) следует равенство
y(x_(i+1) )=y(x_i )+h∙y^ (x_i )+1/2 h^2 y^ (x_i )+O(h^3) (1.12)
Значение первой производной в точкеx_i, в силу связи (1.1), приближенно известно:
y^ (x_i )=f(x_i,y(x_i ))≈f(x_i,y_i) (1.13)
Дифференцируя (1.1), по формуле полной производной
y^ (x_i )=〖f^〗_x (x,y)+〖f^〗_y (x,y)∙y
находим приближенное значение второй производной:
y^ (x_i )=〖f^〗_x (x_i,y(x_i ) )+〖f^〗_y (x_i,y(x_i ) )∙f(x_i,y(x_i ) )≈〖f^〗_x (x_i,y_i )+〖〖+f〗^〗_y (x_i,y_i)∙f(x_i,y_i) (1.14)
Подставляя приближенные выраженияy(x_i ),y^ (x_i ),y^ (x_i) в равенство (1.12), получаем следующую формулу для вычисленияy_(i+1)≈y(x_(i+1)),
i=(0,1,..n):
y_(i+1)=y_i+h[f(x_i,y_i )+h/2(〖f^〗_x (x_i,y_i )+〖f^〗_y (x_i,y_i )∙f(x_i,y_i ))] (1.15)
Определяемый ею метод будем называть исправленным методом Эйлера.
Так как при i=0 формулы (1.13) и (1.14) точны, а y_0=y(x_0) согласно начальному условию (1.2), то на первом шаге вычислений по формуле (1.15) будет совершаться ошибка, связанная только с усечением ряда Тейлора. Следовательно,локальная ошибка или, иначе, шаговая погрешность метода (1.15) составляет величинO(h^3), а это означает, что исправленный метод Эйлера относится к методам второго порядка.
1.6. О семействе методов Рунге-Кутта. Методы второго порядка
Недостатком исправленного метода Эйлера (1.15) и других методов более высоких порядков, основанных на пошаговом представлении решенияy(x)задачи (1.1)—(1.2) по формуле Тейлора и последовательном дифференцировании уравнения (1.1) для получения тейлоровых коэффициентов, является необходимость вычисления на каждом шаге частных производных функции f(x,y).
Идея построения явных методов Рунге-Кутты р-ro порядка заключается в получении приближений к значениямf(x_(i+1)) по формуле вида
y_(i+1)=y_i+hφ(x_i,y_i,h) (1.16)
гдеφ(x,y,h) — некоторая функция, приближающая отрезок ряда Тейлора (1.11) до р-го порядка и не содержащая частных производных функции f(x,y).
Так, полагая в (1.16) φ(x,y,h)=f(x,y), приходим к методу Эйлера (1.8), т.е. метод Эйлера можно считать простейшим примером методов Рунге-Кутты, соответствующим случаю р = 1.
Для построения методов Рунге-Кутты порядка, выше первого, функциюφ(x,y,h)берут многопараметрической, и подбирают ее параметры сравнением выражения (1.16) с многочленом Тейлора для y(x) соответствующей желаемому порядку степени.
Рассмотрим случай р = 2. Возьмем функцию φ в (1.16) следующей структуры
φ(x,y,h)=c_1 f(x,y)+c_2 f(x+ah,y+bhf(x,y) ).
Ее параметрыc1, c2, a и b будем подбирать так, чтобы записанная, согласно (1.16), формула
y_(i+1)=y_i+h[c_1 f(x_i,y_i )+c_2 f(x_i+ah,y_i+bhf(x_i,y_i ))] (1.17)
определяла метод второго порядка, т.е. чтобы максимальная локальная ошибка составляла величину O(h^3).
Разложим функцию двух переменныхf(x+ah,y+bhf(x,y))по формуле Тейлора, ограничиваясь линейными членами:
f(x+ah,y+bhf(x,y) )=f(x,y)+〖f^〗_x (x,y)ah+〖f^〗_y (x,y)bhf(x,y)+O(h^2 ).
Ее подстановка в (1.17) дает
y_(i+1)=y_i+h[(c_1+c_2 )f(x_i,y_i )+h(c_2 a〖f^〗_x (x_i,y_i )+c_2 b〖f^〗_y (x_i,y_i )f(x_i,y_i ))]+O(h^3 ).
(1.18)
Сравнение последнего выражения с тейлоровским квадратичным представлением решения y(x) (1.12) с точностью доO(h^3) равносильно сравнению его с выражениемy_(i+1) по формуле (1.15), т.е. с исправленным методом Эйлера. Очевидно, чтобы (1.18) и (1.15) совпадали с точностью O(h^3), от параметров нужно потребовать выполнение следующей совокупности условий:
{█(c_1+c_2=1,@c_2 a =0.5@c_2 b =0.5.)┤ (1.19)
Полученная система условий содержит три уравнения относительно четырех параметров метода. Это говорит о наличии одного свободного параметра. Положим с_2=a(≠0). Тогда из (1.19) имеем:
c_1=1-α, a=1/2α, b=1/2α.
В результате подстановки этих значений параметров вформул (1.17) приходим к однопараметрическому семейству метода Рунге-Кутты второго порядка.
y_(i+1)=y_i+h[(1-α)f(x_i,y_i )+αf(x_i+h/2α,y_i+h/2α f(x_i,y_i)) ] (1.20)
Выделим из семейства методов (1.20) два наиболее простых и естественных частных случая:
Приα=1/2 получаем формулу
y_(i+1)=y_i+h/2 [f(x_i,y_i )+f(x_i+h,y_i+hf(x_i,y_i ))] (1.21)
которая представляет собой метод Хойна.
Приа = 1 из (1.20) выводим новый простой метод
y_(i+1)=y_i+hf(x_i+h/2,y_i+h/2 f(x_i,y_i)), (1.22)
который назовем методом средней точки.
ПРИМЕР.{█(y’=x-4y@y(0)=1 )┤
y(x)=1/16(4x+17e^(-4x)-1
h=0.1
Метод Эйлера
y_(k+1)=y_k+hf(x_k,y_k)
y_1=y_0+hf(x_0,y_0 )=1+0.1(x-4y)=0.6
y_2=y_1+hf(x_1,y_1 )=0.6+0.1(x-4y)=0.43
y_3=y_2+hf(x_2,y_2 )=0.43+0.1(x-4y)=0.278
Исправленный метод Эйлера
y_(i+1)=y_i+h[f(x_i,y_i )+(〖f^〗_x (x_1,y_1 )+〖f^〗_y (x_i,y_i )f(x_i,y_i ) )h/2]
〖f〗_x=1,〖f〗_y=-4
y_1=y_0+hf(x_0,y_0 )+(h^2 (1-4f(x_0,y_o ) ))/2=0.61
y_2=0.405
y_3=0.256
Метод Хойна
y_(i+1)=y_i+hf(x_i,y_i )/2+hf(x_i+h,y_i+hf(x_i,y_i ))/2
y_1=y_0+0.05+f(x_0,y_0 )+0.05f(x_0+0.01,y_0+0.1f(x_0,y_0 ) )=0.685
y_2=0.44
y_3=0.188
Метод Х0=0 Х0=0,1 Х0=0,2 Х0=0,3 ∆
Точный 1 0,674 0,464 0,332 -
Эйлера 1 0,6 0,43 0,278 0,0765
Ис. Эйлера 1 0,6085 0,38 0,251 0,0545
Хойна 1 0,685 0,44 0,188 0,084
Ср. точки 1 0,663 0,41 0,243 0,048
Глава2. Практическаячасть
2.1.Программный код на Delphi
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, Menus;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit2: TEdit;
Edit3: TEdit;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
Button1: TButton;
StringGrid1: TStringGrid; //компонент среды Делфи, в него будем
StringGrid2: TStringGrid; //записыватьответы
GroupBox5: TGroupBox;
StringGrid3: TStringGrid;
procedureFormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
ProcedureTForm1.FormCreate(Sender: TObject); //создаемформу, в//которуюбудемзаписыватьрешения
begin
StringGrid1.Cells[0,0]:=№; //заполняемшапкушапкутаблицStringGrid
StringGrid1.Cells[1,0]:=t; //дляметодаЭйлера
StringGrid1.Cells[2,0]:=y(t);
StringGrid2.Cells[0,0]:=№;
StringGrid2.Cells[1,0]:=t; //дляметодаРунге-Кутты
StringGrid2.Cells[2,0]:=y(t);
StringGrid3.Cells[0,0]:=№;
StringGrid3.Cells[1,0]:=t; //для исправленного метода Эйлера
StringGrid3.Cells[2,0]:=y(t);
end;
//------------------------------------------------------------------------------
Function fy(x,y:Extended):Extended; //записываемисходнуюфункцию
Begin //extended - Тип с плавающей запятой обладающий самой //высокой точностью и вместимостью
result:=4*x-y;
end;
//------------------------------------------------------------------------------
Functionf_x(x: real): real; //записываем производную по х
begin
f_x:=4;
end;
//------------------------------------------------------------------------------
Functionf_y(y: real): real;//записываем производную по y
begin
f_y:=-1;
end;
//--------------------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var x0, y0, T:Extended; //начальныеусловия
tk:Extended; // Текущее значение на оси x
x,y:Extended; //текущее значение в точкеtk
xp,yp:Extended; //Значения на предыдущем шаге
h:Extended;// Шаг
k:integer; //вспомогательная переменная
a:real; //коэффициент альфа – параметр метода Рунге-Кутты
begin
{Вводим начальные условия}
x0:=0;
y0:=StrToFloat(Edit2.Text); //считываем начальное значение y
T:=StrTofloat(Edit3.Text); //считываем последнюю точку интервала
h:=0.1; //задаем шаг
{=======Метод Эйлера==================================}
k:=0;
tk:=0;
StringGrid1.Cells[0,1]:=0; //нулевой шаг
StringGrid1.Cells[1,1]:=0; //мы стоим в первой точке интервала = 0
StringGrid1.Cells[2,1]:=FloatToStr(y0); //вводим в табличку начальное //значение y
xp:=x0;
yp:=y0;
while tk<T do //циклпокаточкаtkнаходится в заданном нами //интервале, проводим вычисления
begin
inc(k); //увеличение k на единицу
tk:=h*k; //подсчет следующей точки
StringGrid1.RowCount:=k+2; //добавляем 2 пустые строки в таблице
StringGrid1.Cells[0,k+1]:=IntToStr(k); //выводимшаг
StringGrid1.Cells[1,k+1]:=FloatToStr(tk); //выводитточкунаосиабцисс
y:=yp+fy(xp,yp)*h; //самалгоритмметодаЭйлера
StringGrid1.Cells[2,k+1]:=FloatToStr(y); //записываемответy
xp:=xp+h; //увеличиваем хна шаг, по сути движемся по оси X
yp:=y;
end;
{===========Исправленный метод Эйлера===================}
k:=0; //по сути все аналогично простому Эйлеру,
tk:=0; //разница лишь в алгоритме
StringGrid3.Cells[0,1]:=0;
StringGrid3.Cells[1,1]:=0;
StringGrid3.Cells[2,1]:=FloatToStr(y0);
xp:=x0;
yp:=y0;
whiletk< T do
begin
inc(k); //увеличиваем k на единицу
tk:=h*k;
StringGrid3.RowCount:=k+2;
StringGrid3.Cells[0,k+1]:=IntToStr(k);
StringGrid3.Cells[1,k+1]:=FloatToStr(tk);
y:=yp+h*(fy(xp,yp)+((h*h)/2)*(f_x(xp)+f_y(yp)*fy(xp,yp))); //алгоритм
StringGrid3.Cells[2,k+1]:=FloatToStr(y);
xp:=xp+h;
yp:=y;
end;
{==============Метод Рунге-Кутта=======================}
k:=0;
tk:=0;
a:=0.5; //параметр альфа задаем его 0,5, => решаем методом Хойна
StringGrid2.Cells[0,1]:=0;
StringGrid2.Cells[1,1]:=0;
StringGrid2.Cells[2,1]:=FloatToStr(y0);
xp:=x0;
yp:=y0;
whiletk< T do
begin
inc(k);
tk:=h*k;
StringGrid2.RowCount:=k+2;
StringGrid2.Cells[0,k+1]:=IntToStr(k);
StringGrid2.Cells[1,k+1]:=FloatToStr(tk);
y:=yp+h*((1-a)*fy(xp,yp)+a*fy(xp+h/(2*a),yp+h/(2*a)*fy(xp,yp))); //алгоритм
StringGrid2.Cells[2,k+1]:=FloatToStr(y);
xp:=xp+h;
yp:=y;
end;
end;
end.
Заключение
В данной работе была рассмотрена теория по методам Эйлера и Рунге-Кутта решения начальных задач для обыкновенных дифференциальных уравнений, составлен алгоритм каждого метода.
Была достигнута цель, поставленная в начале работы: написана программа в Pascal, реализующая алгоритм решения начальных задач для обыкновенных дифференциальных уравнений простым методом Эйлера, исправленным методом Эйлера, методом Хойна и методом средней точки.
Библиография
В.М. Вержбицкий «Численные методы. Математический анализ и обыкновенные дифференциальные уравнения». Москва, «Высшая школа» 2001. стр.210-225
И.В. Бахвалов «Численные методы». Издание восьмое. Москва-Санкт-Петербург, 2000. стр. 355-361.
Приложение
Задание 1. Найти решение, с помощью метода Эйлера, исправленного метода Эйлера, метода Хойна (h=0.1).
1. {█(y^=4x-y@y(0)=1 )┤ 11 . {█(y^=x-y@y(0)=1 )┤
2.{█(y^=5x+3y@y(0)=1 )┤ 12 . {█(y^=2x-y@y(0)=1 )┤
3.{█(y^=3x+3y@y(0)=1 )┤ 13 . {█(y^=3x-y@y(0)=1 )┤
4.{█(y^=x-4y@y(0)=1 )┤ 14 . {█(y^=x-4y@y(0)=1 )┤
5. {█(y^=x-5y@y(0)=1 )┤ 15 . {█(y^=x-5y@y(0)=1 )┤
6.{█(y^=4x+2y@y(0)=1 )┤ 16 . {█(y^=x-6y@y(0)=1 )┤
7 . {█(y^=4x-y@y(0)=1 )┤ 17 . {█(y^=x-7y@y(0)=1 )┤
8 . {█(y^=y-2x/y@y(0)=1 )┤ 18 . {█(y^=x-5y@y(0)=1 )┤
9 . {█(y^=x+9y@y(0)=1 )┤ 19 . {█(y^=x-9y@y(0)=1 )┤
10 {█(y^=x-10y@y(0)=1 )┤ 20 . {█(y^=x-5y@y(0)=1 )┤
21. {█(y^=x-2y@y(0)=1 )┤22. {█(y^=x-5y@y(0)=1 )┤
Задание 2. Численное дифференцирование и разностнаяаппроксимизация.(h=0.1)
1. y=sin2x, x_0=0.5 11. y=〖log〗_2x, x_0=1
2. y=cos3x, x_0=0.2 12. y=arctgx, x_0=0.1
3. y=2-xln(x+1),x_0=013. y=2^(x+2),x_0=0
4. y=ln(2x+1), x_0=0 14. y=4^x,x_0=0.1
5. y=ln(2x), x_0=0.1 15. y=sin(2x+2), x_0=0.1
6. y=sinx, x_0=0.1 16. y=ln(2x+1), x_0=0
7. y=sin3x, x_0=0.5 17. y=ln(x+1), x_0=0.2
8. y=ln(x^3+3), x_0=0 18. y=x/5-0.04+1.04e^(-5x), x_0=0
9. y=cos(2x+1), x_0=0 19. y=lnx+3, x_0=1, h=0.2
10. y=cos√x, x_0=0.2 20. y=ln(2x+1), x_0=0
21. y=ln(x+1), x_0=0 22. y=ln(2x+1), x_0=0
Ответы к dif
{█(y^=4x-y@y(0)=1 )┤
h=0,1
y(x)=4x+5e^(-x)-4
Метод Х0=0 Х0=0,1 Х0=0,2 Х0=0,3
Точный 1 0,924 0,893 0,904
Эйлера 1 0,9 0,85 0,845
Ис. Эйлера 1 0,9025 0,854 0,851
Хойна 1 0,925 0,895 0,906
{█(y^=5x+3y@y(0)=1 )┤
h=0.1
y(x)=1/9(-15x+14e^3x-5)
Метод Х0=0 Х0=0,1 Х0=0,2 Х0=0,3
Точный 1 1.37 1.94 2.77
Эйлера 1 1.3 1.72 2.296
Ис. Эйлера 1 1.306 1.735 2.326
Хойна 1 1.36 1.87 2.61
{█(y^=4x+3y@y(0)=1 )┤
h=0.1
y(x)=1/3(-3x+4e^3x-1)
Метод Х0=0 Х0=0,1 Х0=0,2 Х0=0,3
Точный 1 1.366 1.89 2.646
Эйлера 1 1.3 1.74 2.362
Ис. Эйлера 1 1.307 1.758 2.397
Хойна 1 1.37 1.925 2.729
{█(y^=x-4y@y(0)=1 )┤
h=0.1
y(x)=1/16(4x+17e^(-4x)-1
Метод Х0=0 Х0=0,1 Х0=0,2 Х0=0,3
Точный 1 0.67 0.464 0.332
Эйлера 1 0.6 0.37 0.242
Ис. Эйлера 1 0.6085 0.38 0.251
Хойна 1 0.685 0.478 0.346
{█(y^=x-5y@y(0)=1 )┤
h=0.1
y(x)=1/25(5x+26e^(-5x)-1)
Метод Х0=0 Х0=0,1 Х0=0,2 Х0=0,3
Точный 1 0.61 0.382 0.252
Эйлера 1 0.5 0.26 0.15
Ис. Эйлера 1 0.513 0.273 0.159
Хойна 1 0.63 0.406 0.273
{█(y^=4x+2y@y(0)=1 )┤
h=0.1
y(x)=2x+2e^(-2x)-1
Метод Х0=0 Х0=0,1 Х0=0,2 Х0=0,3
Точный 1 0.837 0.74 0.697
Эйлера 1 0.8 0.68 0.624
Ис. Эйлера 1 0.804 0.686 0.631
Хойна 1 0.84 0.7448 0.702
{█(y^=4x-y@y(0)=1 )┤
h=0.1
y(x)=4x+5e^(-x)-4
Метод Х0=0 Х0=0,1 Х0=0,2 Х0=0,3
Точный 1 0.924 0.893 0.924
Эйлера 1 0.9 0.85 0.854
Ис. Эйлера 1 0.9025 0.854 0.851
Хойна 1 0.925 0.895 0.906