Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Метод решения Эйлера

В основе метода Эйлера лежит идея графического построения решения дифференциального уравнения. Однако этот метод дает одновременно и способ нахождения искомой функции в табличной форме.

Пусть дано дифференциальное уравнение (6.1). Найти приближенное численное решение этого дифференциального уравнения, т.е. составить таблицу приближенных значений функции у=у(х) удовлетворяющей заданным начальным условиям.

 

x x0 x1 x2 x3 x4 x5 xn
y y0 y1 y2 y3 y4 y5 yn

 

Где, xi=x0+i× h, – шаг таблицы.

Приближенно можно считать, что правая часть в (6.1) остается постоянной на каждом из отрезков между точками деления. Метод Эйлера состоит в непосредственной замене производной разностными отношениями по приближенной формуле:

y-y0=f(x0, y0)× (x-x0)

y=y0+f(x0, y0)× (x-x0)

если x=x1, то

y1=y0+f(x0, y0)× (x1-x0)

y1=y0+h× f(x0, y0)

Dy0=h× f(x0, y0)

если x=x2, то

y2=y1+f(x1, y1)× (x2-x1)

y2=y1+h× f(x1, y1)

Dy1=h× f(x1, y1)

если x=xi+1, то

yi+1=yi+h× f(xi, yi)

Dyi=h× f(xi, yi)

 

Таким образом, получение таблицы значений искомой функции у(х) по методу Эйлера заключается в циклическом применении пары формул:

 

Dyk=h× f(xk, yk)

yk+1=yk+Dyk

где k=0, 1, 2, …, n

 


Геометрически эти формулы означают, что на отрезке [xi, xi+1] интегральная кривая заменяется отрезком касательной к кривой.

Рисунок - 1 Рисунок - 2

 

Решить методом Эйлера дифференциальное уравнение f(x, y)=2 – x - y начальным условием y(0)=2, 3 на отрезке [2, 3] приняв шаг h=0, 1

 


 

Листинг программы метода Эйлера:

 

Программа 6.1

var x, y, a, b, h: real;

function f(x, y: real): real;

begin f: = 2 – x - y;

end;

begin

writeln('введите y, a, b, h');

readln(y, a, b, h); x: =a;

repeat

writeln(x: 0: 3, ' ', y: 0: 3);

y: =y+h*f(x, y);

x: =x+h;

until x> b+0.1;

readln;

end.

 

 


 

Блок схема программы:

 
 

 

 


 


Демонстрация рабочей программы:

 

 

 

x y
   
   
   
   
   
   
   
   
   
   
   
   

Таблица - 1

 


 

График программы:

 

 

<== предыдущая лекция | следующая лекция ==>
 | Задание на ргр
Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал