Міністерство освіти України

ДАЛПУ

 

Кафедра автоматизації

технологічних процесів і приладобудування

КУРСОВА РОБОТА

з курсу “Математичне моделювання на ЕОМ”

на тему “Розв’язок диференціального рівняння

виду апу(п)+ап-1у(п-1)+…+а1у1+а0у=кх при заданих

початкових умовах з автоматичним вибором кроку

методом Ейлера”

Виконала студентка групи БА-4-97

Богданова Ольга Олександрівна

Холоденко Вероніка Миколаївна

Перевірила Заргун Валентина Василівна

1998

Численный расчет дифференциальных уравненийБлок-схема алгоритма

Блок-схема алгоритма

начало

у/=f(x,y)

y(x0)=y0

x0, x0+a

h, h/2

k:=0

xk+1/2:=xk+h/2

yk+1/2:=yk+f(xk, yk)h/2

αk:= f(xk+1/2, yk+1/2)

xk+1:=xk+h

yk+1:=yk+αkh

нет k:=n

да

x0, y0,

x1, y1…

xn, yn

конец

ПОСТАНОВКА ЗАДАЧИ И МЕТОД РЕШЕНИЯ

Решить дифференциальное уравнение у/=f(x,y) численным методом - это значит для заданной последовательности аргументов х0, х1…, хn и числа у0, не определяя функцию у=F(x), найти такие значения у1, у2,…, уn, что уi=F(xi)(i=1,2,…, n) и F(x0)=y0.

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

У=F(x) получить таблицу значений этой функции для заданной последовательности аргументов. Величина h=xk-xk-1 называется шагом интегрирования.

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

Рассмотрим дифференциальное уравнение первого порядка

y/=f(x,y) (1)

с начальным условием

x=x0, y(x0)=y0 (2)

Требуется найти решение уравнения (1) на отрезке [а,b].

Разобьем отрезок [a, b] на n равных частей и получим последовательность х0, х1, х2,…, хn, где xi=x0+ih (i=0,1,…, n), а h=(b-a)/n-шаг интегрирования.

В методе Эйлера приближенные значения у(хi)» yi вычисляются последовательно по формулам уi+hf(xi, yi) (i=0,1,2…).

При этом искомая интегральная кривая у=у(х), проходящая через точку М0(х0, у0), заменяется ломаной М0М1М2… с вершинами Мi(xi, yi) (i=0,1,2,…); каждое звено МiMi+1 этой ломаной, называемой ломаной Эйлера, имеет направление, совпадающее с направлением той интегральной кривой уравнения (1), которая проходит через точку Мi.

Если правая часть уравнения (1) в некотором прямоугольнике R{|x-x0|£ a, |y-y0|£ b}удовлетворяет условиям:


|f(x, y1)- f(x, y2)| £ N|y1-y2| (N=const),

|df/dx|=|df/dx+f(df/dy)| £ M (M=const),

то имеет место следующая оценка погрешности:

|y(xn)-yn| £ hM/2N[(1+hN)n-1], (3)

где у(хn)-значение точного решения уравнения(1) при х=хn, а уn- приближенное значение, полученное на n-ом шаге.

Формула (3) имеет в основном теоретическое применение. На практике иногда оказывается более удобным двойной просчет: сначала расчет ведется с шагом h, затем шаг дробят и повторный расчет ведется с шагом h/2. Погрешность более точного значения уn* оценивается формулой

|yn-y(xn)|» |yn*-yn|.

Метод Эйлера легко распространяется на системы дифференциальных уравнений и на дифференциальные уравнения высших порядков. Последние должны быть предварительно приведены к системе дифференциальных уравнений первого порядка.

Модифицированный метод Эйлера более точен.

Рассмотрим дифференциальное уравнение (1) y/=f(x,y)

с начальным условием y(x0)=y0. Разобьем наш участок интегрирования на n

равных частей. На малом участке [x0,x0+h]

у интегральную кривую заменим прямой

Nk/ y=y(x) линией. Получаем точку Мк(хк,ук).

Мк Мк/

yk+1

yk

хк хк1/2 xk+h=xk1 х

Через Мк проводим касательную: у=ук=f(xk,yk)(x-xk).

Делим отрезок (хк,хк1) пополам:

xNk/=xk+h/2=xk+1/2

yNk/=yk+f(xk,yk)h/2=yk+yk+1/2

Получаем точку Nk/. В этой точке строим следующую касательную:

y(xk+1/2)=f(xk+1/2, yk+1/2)=αk

Из точки Мк проводим прямую с угловым коэффициентом αк и определяем точку пересечения этой прямой с прямой Хк1. Получаем точку Мк/. В качестве ук+1 принимаем ординату точки Мк/. Тогда:

ук+1=ук+αкh

xk+1=xk+h

(4) αk=f(xk+h/2, yk+f(xk,Yk)h/2)

yk=yk-1+f(xk-1,yk-1)h

(4)-рекурентные формулы метода Эйлера.

Сначала вычисляют вспомогательные значения искомой функции ук+1/2 в точках хк+1/2, затем находят значение правой части уравнения (1) в средней точке y/k+1/2=f(xk+1/2, yk+1/2) и определяют ук+1.

Для оценки погрешности в точке хк проводят вычисления ук с шагом h, затем с шагом 2h и берут 1/3 разницы этих значений:

| ук*-у(хк)|=1/3(yk*-yk),

где у(х)-точное решение дифференциального уравнения.

Таким образом, методом Эйлера можно решать уравнения любых порядков. Например, чтобы решить уравнение второго порядка y//=f(y/,y,x) c начальными условиями y/(x0)=y/0, y(x0)=y0, выполняется замена:

y/=z

z/=f(x,y,z)

Тем самым преобразуются начальные условия: y(x0)=y0, z(x0)=z0, z0=y/0.

РЕШЕНИЕ КОНТРОЛЬНОГО ПРИМЕРА

Приведем расчет дифференциального уравнения первого, второго и третьего порядка методом Эйлера

1. Пусть дано дифференциальное уравнение первого порядка:

y/=2x-y

Требуется найти решение на отрезке [0,1] c шагом h=(1-0)/5=0,2

Начальные условия: у0=1;

Пользуясь рекурентными формулами (4), находим:

1). x1=0,2; х1/2=0,1; y(x1)=y(x0)+α0h; y(x1/2)=y(x0)+f(x0,y0)h/2;

f(x0,y0)=2* 0-1=-1

y(x1/2)=1-1* 0,1=0,9

α0=2* 0,1-0,9=-0,7

y1=1-0,1* 0,2=0,86

2). y(x2)=y(x1)+α1h; x2=0,2+0,2=0,4; x1+1/2=x1+h/2=0,2+0,1=0,3

y(x1+1/2)=y(x1)+f(x1,y(x1))h/2

f(x1,y1)=2* 0,2-0,86=-0,46

y(x1+1/2)=0,86-0,46* 0,1=0,814

α1=2*0,3-0,814=-0,214

y2=0,86-0,214*0,2=0,8172

3). x3=0,4+0,2=0,6; x2+1/2=x2+h/2=0,4+0,1=0,5

f(x2,y2)=2*0,4-0,8172=-0,0172

y2+1/2=0,8172-0,0172*0,1=0,81548

α2=2*0,5-0,81548=0,18452

y3=0,8172+0,18452*0,2=0,854104

4).x4=0,8; x3+1/2=x3+h/2=0,6+0,1=0,7

f(x3,y3)=2*0,6-0,854104=0,345896

y3+1/2=0,854104+0,345896*0,1=0,8886936

α3=2*0,7-0,89=0,5113064

y4=0,854104+0,5113064*0,2=0,95636528

5).x5=1; x4+1/2=0,8+0,1=0,9

f(x4,y4)=2*0,8-0,956=0,64363472

y4+1/2=0,956+0,643*0,1=1,020728752;

α4=2*0,9-1,02=0,779271248

y5=0,956+0,7792*0,2=1,11221953

2. Дано уравнение второго порядка:

y//=2x-y+y/

Находим решение на том же отрезке [0,1] c шагом h=0,2;

Замена: y/=z

z/=2x-y+z

Начальные условия: у0=1

z0=1

1).x1=0,2; x1/2=0,1

y(z1)=y(z0)+α0h z(x1,y1)=z(x0,y0)+β0h

y(z1/2)=y(z0)+f(z0,y0)h/2 z(x1/2,y1/2)=z(x0,y0)+f(x0,y0,z0)h/2

f(z0,y0)=f10=1 f(x0,y0,z0)=f20=2*0-1+1=0

y1/2=1+1*0,1=1,1 z1/2=1+0*0,1=1

α0=z0=1 β0=2*0,1-1,1+1=0,1

y1=1+0,2*1=1,2 z1=1+0,2*0,1=1,02

2).x2+0,4; x1+1/2=0,3

f11=z1=1,02 f21=2*0,2-1,2+1,02=0,22

y1+1/2=1,2+1,02*0,1=1,1 z1+1/2=1,02+0,22*0,1=1,042

α1=z1+1/2=1,042 β1=2*0,3-1,302+1,042=0,34

y2=1,2+1,042*0,2=1,4084 z2=1.02+0,34*0,2=1,088

3).x3=0,6; x2+1/2=0,5

f12=z2=1,088 f22=2*0,4-1,4084+1,088=0,4796

y2+1/2=1,4084+1,088*0,1=1,5172 z2+1/2=1,088+0,4796*0,1=1,13596

α2=z2+1/2=1,13596 β2=2*0,5-1,5172+1,13596=0,61876

y3=1,4084+1,136*0,2=1,635592 z3=1,088+0,61876*0,2=1,211752

4).x4=0,8; x3+1/2=0,7

f13=z3=1,211752 f23=2*0,6-1,636+1,212=0,77616

y3+1/2=1,636+1,212*0,1=1,7567672 z3+1/2=1,212+0,776*0,1=1,289368

α3=z3+1/2=1,289368 β3=2*0,7-1,7568+1,289=0,9326008

y4=1,6+1,289*0,2=1,8934656 z4=1,212+0,93*0,2=1,39827216

5).x5=1; y4+1/2=0,9

f14=z4=1,39827216 f24=2*0,8-1,893+1,398=1,10480656

y4+1/2=1,893+1,398*0,1=2,0332928 z4+1/2=1,398+1,105*0,1=1,508752816

α4=z4+1/2=1,508752816 β4=2*0,9-2,03+1,5=1,27546

y5=1,893+1,5*0,2=2,195216163 z5=1,398+1,275*0,2=1,65336416

 


Информация о работе «Численный расчет дифференциальных уравнений»
Раздел: Математика
Количество знаков с пробелами: 13378
Количество таблиц: 0
Количество изображений: 1

Похожие работы

Скачать
9943
29
24

... = cos(aּπּt) и нулевых начальных условиях; 3. Выводы по работе №3 В процессе данной практической работы я изучил возможности математического пакета MathCad в среде Windows для решения дифференциальных уравнений N-го порядка, используемых в инженерных расчетах электротехнических систем. Были выполнены численные методы решения дифференциальных уравнений N-го порядка. Заданное ...

Скачать
12056
47
3

... численных методов (при решении реальных, а не учебных задач!) предполагает использование компьютеров с достаточным быстродействием. Использование для численного решения дифференциальных уравнений компьютерного пакета MathCAD предполагает знание алгоритма работы численных методов для разумного их применения (знание границ применимости, оценки точности, затрат компьютерных ресурсов и др.). Дело в ...

Скачать
23188
0
17

... при использовании этого метода функцию необходимо вычислять четыре раза. 3. Выбор метода реализации программы Исходя из вышеизложенного, для решения систем дифференциальных уравнений мы выбираем наиболее точный метод решения – метод Рунге-Кутта 4 порядка, один из самых употребляемых методов интегрирования дифференциальных уравнений. этот метод является одноступенчатым и одношаговым требует ...

Скачать
27686
0
13

... при использовании этого метода функцию необходимо вычислять четыре раза3. Выбор метода реализации программы Исходя из вышеизложенного, для решения систем дифференциальных уравнений мы выбираем наиболее точный метод решения – метод Рунге-Кутта 4 порядка, один из самых употребляемых методов интегрирования дифференциальных уравнений этот метод является одноступенчатым и одношаговым ...

0 комментариев


Наверх