Реферат: Численный расчет дифференциальных уравнений

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


     Решить дифференциальное уравнение у/=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                                          

<img width=«12» height=«195» src=«ref-1_298125030-263.coolpic» v:shapes="_x0000_s1049">                                          равных частей.На малом участке [x0,x0+h]

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

<img width=«2» height=«21» src=«ref-1_298125293-153.coolpic» v:shapes="_x0000_s1050"><img width=«98» height=«31» src=«ref-1_298125446-442.coolpic» v:shapes="_x0000_s1051"><img width=«59» height=«98» src=«ref-1_298125888-616.coolpic» v:shapes="_x0000_s1052"><img width=«171» height=«83» src=«ref-1_298126504-994.coolpic» v:shapes="_x0000_s1053">                     Nk/                            y=y(x)         линией. Получаем точку Мк(хк, ук).

<img width=«146» height=«40» src=«ref-1_298127498-517.coolpic» v:shapes="_x0000_s1054"><img width=«2» height=«12» src=«ref-1_298128015-155.coolpic» v:shapes="_x0000_s1055"><img width=«2» height=«21» src=«ref-1_298125293-153.coolpic» v:shapes="_x0000_s1056">                                                                                                          


<img width=«21» height=«2» src=«ref-1_298128323-153.coolpic» v:shapes="_x0000_s1057"><img width=«21» height=«2» src=«ref-1_298128476-151.coolpic» v:shapes="_x0000_s1058"><img width=«21» height=«2» src=«ref-1_298128323-153.coolpic» v:shapes="_x0000_s1059"><img width=«2» height=«21» src=«ref-1_298128780-153.coolpic» v:shapes="_x0000_s1060"><img width=«2» height=«22» src=«ref-1_298128933-155.coolpic» v:shapes="_x0000_s1061"><img width=«2» height=«2» src=«ref-1_298129088-167.coolpic» v:shapes="_x0000_s1062"><img width=«2» height=«2» src=«ref-1_298129088-167.coolpic» v:shapes="_x0000_s1063"><img width=«2» height=«2» src=«ref-1_298129088-167.coolpic» v:shapes="_x0000_s1064"><img width=«2» height=«12» src=«ref-1_298129589-153.coolpic» v:shapes="_x0000_s1065"><img width=«2» height=«2» src=«ref-1_298129088-167.coolpic» v:shapes="_x0000_s1066">           Мк          Мк/                                             

<img width=«2» height=«22» src=«ref-1_298128933-155.coolpic» v:shapes="_x0000_s1067"><img width=«2» height=«21» src=«ref-1_298130064-156.coolpic» v:shapes="_x0000_s1068"><img width=«2» height=«11» src=«ref-1_298130220-151.coolpic» v:shapes="_x0000_s1069">         
              
yk+1                                       

<img width=«2» height=«21» src=«ref-1_298128780-153.coolpic» v:shapes="_x0000_s1070"><img width=«2» height=«12» src=«ref-1_298128015-155.coolpic» v:shapes="_x0000_s1071"><img width=«2» height=«11» src=«ref-1_298130679-153.coolpic» v:shapes="_x0000_s1072"><img width=«2» height=«12» src=«ref-1_298130832-156.coolpic» v:shapes="_x0000_s1073"><img width=«2» height=«12» src=«ref-1_298130832-156.coolpic» v:shapes="_x0000_s1074">        
   
yk

<img width=«2» height=«12» src=«ref-1_298129589-153.coolpic» v:shapes="_x0000_s1075"><img width=«2» height=«12» src=«ref-1_298131297-153.coolpic» v:shapes="_x0000_s1076"><img width=«2» height=«12» src=«ref-1_298131297-153.coolpic» v:shapes="_x0000_s1077"><img width=«2» height=«12» src=«ref-1_298129589-153.coolpic» v:shapes="_x0000_s1078">          

<img width=«291» height=«12» src=«ref-1_298131756-260.coolpic» v:shapes="_x0000_s1079"><img width=«2» height=«2» src=«ref-1_298129088-167.coolpic» v:shapes="_x0000_s1080">             хкхк1/2xk+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)+αh;   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

      α=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)+αh                                   z(x1,y1)=z(x0,y0)+βh              

   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

   α=z0=1                                                β=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

   
   
    продолжение
--PAGE_BREAK--
еще рефераты
Еще работы по математике