Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kozlov (1).doc
Скачиваний:
725
Добавлен:
18.03.2016
Размер:
15.9 Mб
Скачать

Усовершенствованный метод Эйлера. Метод Гюна.

Точность метода Эйлера можно повысить, если воспользоваться для аппроксимации интеграла более точной формулой интегрирования – формулой трапеций:

Данная формула оказывается неявной относительно yi+1, это значение yi+1 есть и в левой и в правой части выражения. Можно вычислить это значение приблизительно с помощью обычной формулы Эйлера: i+1= Окончательно, имеем:

Эта формула реализует метод Гюна или метод Эйлера с пересчетом. Для каждого узла интегрирования производится следующая цепочка вычислений. Благодаря более точной формуле интегрирования, погрешность метода Гюна пропорциональна уже квадрату шага интегрирования.

Алгоритм метода Гюна

  1. Вводим исходные значения x0, y0, xn.

  2. Задаем значение n, например, 10.

  3. Рассчитываем значение h=( xn- x0)/n.

  4. Последовательно определяем:

y1=y0+F(x0,y0)·h, x1=x0+h, 1= y1=y0+h/2·[+(x1,1)],

y2=y1+F(x1,y1)·h, x2=x1+h, 2= y2=y1+h/2·[+(x2,2)],

……

yn=yn-1+F(xn-1,yn-1)·h, xn=xn-1+h, n=yn= yn-1+ h/2·[+(xn,n)].

  1. Получаем таблицу значений.

Реализация метода в MS Excel

Дано: , начальные условия y(0)=0,1. Найти у от х=2 при n=10.

Заполнение клеток листа MS Excel для n=10:

Адрес клетки

Содержание

Тип

А1

x0=

Текст

А2

y(x0)=

Текст

B1

0

Число

B2

0,1

Число

D1

n=

Текст

D2

x=

Текст

E1

10

Число

E2

2

Число

G1

h=

Текст

H1

=(E2-B1)/E1

Формула

A5

x

Текст

B5

F(xi-1,yi-1)

Текст

C5

ŷ

Текст

D5

F(xi,ŷ)

Текст

E5

y

Текст

A6

=B1

Формула

E6

=B2

Формула

A7

=A6+$H$1

Формула

B7

=EXP(COS(A6)^2)+1,5*SIN(E6)-2,3/(A6*A6+0,2)

Формула

C7

=E6+B7*$H$1

Формула

D7

=EXP(COS(A7)^2)+1,5*SIN(C7)-2,3/(A7*A7+0,2)

Формула

E7

=E6+$H$1/2*(B7+D7)

Формула

A8: A16

Автозаполнение формулой из клетки A7

Формула

B8: B16

Автозаполнение формулой из клетки B7

Формула

C8: C16

Автозаполнение формулой из клетки C7

Формула

D8: D16

Автозаполнение формулой из клетки D7

Формула

E8: E16

Автозаполнение формулой из клетки E7

Формула

Вид листа MS Excel для n=10:

Ответ:х=2 у= -3,15

Методы прогноза и коррекции

Точность метода Эйлера можно повысить, если воспользоваться для аппроксимации интеграла более точной формулой интегрирования – формулой трапеций:

Данная формула оказывается неявной относительно yi+1, это значение есть и в левой и в правой части выражения. Для расчета yi+1 используем двух шаговый метод прогноза и коррекции. Пусть дано ДУ для которого известно значение функции в двух соседних узлах сетки:

Сначала строится прогноз значения в (i+1)-ом узле интегрирования, например, по формуле метода Эйлера по предыдущему узлу.

pi+1 = yi-1+2·h·y´i, где i=F(xi,yi).

Далее это значение корректируется по более точной формуле, в данном случае – по формуле трапеций:

В качестве решения в узле xi+1 берется yi+1 = ci+1+Ec, где Ec - ошибка коррекции:

Для того чтобы начать расчет методом прогноза и коррекции, необходимо знать значения функции в двух первых узлах сетки - x0 и x1 - . Обычно значение в узле x1 определяется каким-либо одношаговым методом, например методом Гюна.

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

Алгоритм метода прогноза и коррекции

  1. Вводим исходные значения x0, y0, xn.

  2. Задаем значение n, например, 10.

  3. Рассчитываем значение h=( xn- x0)/n.

  4. Рассчитываем по методу Гюна x1, y1.

  5. Последовательно определяем:

x2=x1+h, y'1=F(x1,y1), p2=y0+2h y'1, p´2= F(x2,p2), c2=y1+h/2( p´2+ y'1), Ec=(p´2-c2)/5, y2=c2+Ec,

x3=x2+h, y'2=F(x2,y2), p3=y1+2h y'2, p´3= F(x3,p3), c3=y2+h/2( p´3+ y'2), Ec=(p´3-c3)/5, y3=c3+Ec,

……

xn=xn-1+h, y'n-1=F(xn-1,yn-1), pn=yn-2+2h y'n-1, p´n= F(xn,pn), cn=yn-1+h/2( p´n+ y'n-1), Ec=(p´n-cn)/5, yn=cn+Ec.

  1. Получаем таблицу значений.

Реализация метода в MS Excel

Дано: , начальные условия y(0)=0,1. Найти у от х=2 при n=10.

Заполнение клеток листа MS Excel для n=10:

Адрес клетки

Содержание

Тип

А1

x0=

Текст

А2

y(x0)=

Текст

B1

0

Число

B2

0,1

Число

D1

n=

Текст

D2

x=

Текст

E1

10

Число

E2

2

Число

G1

h=

Текст

H1

=(E2-B1)/E1

Формула

A5

x

Текст

B5

F(xi-1,yi-1)

Текст

C5

ŷ

Текст

E5

F(xi,ŷ)

Текст

F5

y

Текст

A6

=B1

Формула

F6

=B2

Формула

A7

=A6+$H$1

Формула

B7

=EXP(COS(A6)^2)+1,5*SIN(E6)-2,3/(A6*A6+0,2)

Формула

C7

=E6+B7*$H$1

Формула

E7

=EXP(COS(A7)^2)+1,5*SIN(C7)-2,3/(A7*A7+0,2)

Формула

F7

=E6+$H$1/2*(B7+D7)

Формула

A9

x

Текст

B9

F(x,y)

Текст

C9

p

Текст

D9

F(x,p)

Текст

E9

c

Текст

F9

E

Текст

G9

y

Текст

A10

=A6

Формула

G10

=F6

Формула

A11

=A7

Формула

B11

=EXP(COS(A11)^2)+1,5*SIN(G11) -2,3/(A11*A11+0,2)

Формула

G11

-1,60999

Число

A12

=A11+$I$1

Формула

B12

=EXP(COS(A12)^2)+1,5*SIN(G12) -2,3/(A12*A12+0,2)

Формула

C12

=G10+2*$I$1*B11

Формула

D12

=EXP(COS(A12)^2)+1,5*SIN(C12) -2,3/(A12*A12+0,2)

Формула

E12

=G11+$I$1/2*(D12+B11)

Формула

F12

=(C12-E12)/5

Формула

G12

=E12+F12

Формула

A13:A20

Автозаполнение формулой из клетки A12

Формула

B13:B20

Автозаполнение формулой из клетки B12

Формула

C13:C20

Автозаполнение формулой из клетки C12

Формула

D13:D20

Автозаполнение формулой из клетки D12

Формула

E13:E20

Автозаполнение формулой из клетки E12

Формула

F13:F20

Автозаполнение формулой из клетки F12

Формула

G13:G20

Автозаполнение формулой из клетки G12

Формула

Вид листа MS Excel для n=10:

Ответ:х=2 у= -3,168

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]