MObl lab10A rrz

background image

Politechnika Świętokrzyska

Wydział Elektrotechniki, Automatyki i Informatyki

Katedra Zastosowań Informatyki

Metody obliczeniowe – laboratorium

Instrukcja laboratoryjna nr 10A:
Rozwiązywanie równań różniczkowych zwyczajnych

Opracował: dr inż. Andrzej Kułakowski
Data: 15.11.2013 r.

1. Wprowadzenie

Sformułowanie zadania przybliżonego rozwiązywania równań różniczkowych zwyczajnych:

Najprostszym równaniem różniczkowym zwyczajnym jest równanie różniczkowe pierwszego
rzędu o postaci:

y

(1)

(x) = f(x, y(x))

(1)

z warunkiem początkowym: y(x

0

) = y

0

Zakładamy że funkcja f(x, y(x)) jest określona i ciągła

w obszarze x

0

x

b , -

y

, gdzie: x

0

i b są skończone

CELEM przybliżonego rozwiązywania równań różniczkowych zwyczajnych jest obliczenie
wartości funkcji y(x) dla ciągu wartości x=xi, dla i =1,2,...
czyli znajdowanie punktów na krzywej całkowej y(x)

2. Metoda Eulera

Niech będzie dane równanie różniczkowe zwyczajne wyrażone zależnością (1),

z warunkiem początkowym y(x

0

) = y

0

Metoda Eulera polega na zastąpieniu krzywej całkowej y=y(x) przechodzącej przez punkt
M

0

(x

0

,y

0

)., odpowiadający warunkom początkowym,

łamaną M

0

M

1

M

2

... o wierzchołkach M

i

(x

i

,y

i

) i=0,1,2, składająca się z odcinków prostych.

Punkt rozpoczęcia i-tego odcinka łamanej określony jest punktem osiągnięcia przez (i-1) - szy
odcinek prostej odciętej x

i

=x

0

+ih

gdzie: h - stały krok obliczeń

Punkt M0 rozpoczęcia pierwszego odcinka łamanej jest określony
warunkiem początkowym y(x0) = y0.

Odcinki Mi Mi+1 i=0,1,2.. łamanej mają współczynnik kątowy wyrażony następującą zależnością:

y

i+1

y

i

h

=f

(

x

i

,y

i

)

=y

i

(

1

)

=y

(

1

)

(

x

i

)

(2)

Ze wzoru (2) wynika również, ze wartości yi można znaleźć z następujących wzorów

background image

yi+1=yi+

yi

yi = h·f(xi,yi) i=0,1,2..

Przykład 1:

Rozwiązać równanie różniczkowe:

y

(1)

(x) = 2xy(x)

z warunkiem początkowym y(0)=1; długość kroku h=0.1

Rozwiązanie:

i

x

y

f(x,y)=2xy

y = h·f(x,y)

0

0

1

0

0

1

0,1

1

0,2

0,02

2

0,2

1,02

0,408

0,0408

3

0,3

1,06080

0,63648

0,06365

4

0,4

1,12445

0,89956

0,08996

5

0,5

1,21441

1,121441

0,11214

6

0,6

1,33585

Po sześciu krokach uzyskano wynik: 1,33585

background image

3. Metoda Rungego-Kutty

Metoda Rungego-Kutty jest metodą jednokrokową charakteryzująca się tym, że przy obliczaniu
wartości funkcji w kolejnym punkcie x

i

=x

0

+i·h bierze się pod uwagę również punkty

wewnątrz i-tego kroku. W zależności od liczby punktów wziętych pod uwagę, mówimy o rzędzie
metody.

Poniżej opisano metodę Rungego-Kutty 4-go rzędu (RK4).

Niech będzie dane równanie różniczkowe zwyczajne z warunkiem początkowym, wyrażone
zależnością (1).

Wybierzmy krok całkowania h i wprowadźmy oznaczenia x

i

=x

0

+i·h oraz y

i

=y(x

i

) dla i=0,1,...

W metodzie RK4 kolejne wartości y

i

szukanej krzywej całkowej y=y(x) znajdujemy ze wzoru

y

i+1

=y

i

+

y

i

gdzie:

Δy

i

=

1
6

(

k

1

(

i

)

+

2k

2

(

i

)

+

2k

3

(

i

)

+k

4

(

i

)

)

i=0,1,2..

oraz

k

1

(

i

)

=hf

(

x

i

,y

i

)

,

k

2

(

i

)

=hf

(

x

i

+

1
2

h,y

i

+

1
2

k

1

(

i

)

)

,

k

3

(

i

)

=hf

(

x

i

+

1
2

h,y

i

+

1
2

k

2

(

i

)

)

,

k

4

(

i

)

=hf

(

x

i

+h,y

i

+k

3

(

i

)

)

,

Wartości k

n

(i)

n=1,2,3,4, są różne w każdym kroku i.

W celu ułatwienia korzystania z metody RK4 można podać następujący schemat rozwiązywania
równania różniczkowego:

i

x

y

k=h·f(x,y)

y

0

x

0

y

0

k

1

(0)

k

1

(0)

x

0

+½h

y

0

+½k

1

(0)

k

2

(0)

2k

2

(0)

x

0

+½h

y

0

+½k

2

(0)

k

3

(0)

2k

3

(0)

x

0

+h

y

0

+k

3

(0)

k

4

(0)

k

4

(0)

1

6 ·

Σ = ∆

y

0

1

jak wyżej, ale ze zmianą indeksu „0” na „1”

background image

Przykład 2:

Rozwiązać równanie różniczkowe:

y

(1)

(x) = 2xy(x)

z warunkiem początkowym y(0)=1; długość kroku h=0.1

Rozwiązanie:

i

x

y

k=h·f(x,y)

y

0

0

1

0

0

0,05

1

0,01

0,02

0,05

1,005

0,01005

0,0201

0,1

1,01005

0,020201

0,02

1

6 ·

Σ = ∆

y

0

= 0,01005

1

0,1

1,01005

0,02201

0,02201

0,15

1,01101

0,03033

0,06066

0,15

1,01517

0,03046

0,06091

0,2

1,01523

0,04061

0,04061

1

6 ·

Σ = ∆

y

0

= 0,02737

2

0,2

1,04058

itd....do końca zakresu dla x

i

4. Zadania do wykonania

a) dla podanego przez prowadzącego zajęcia przykładu, rozwiązać równanie różniczkowe metodą
Eulera.

b) dla podanego przez prowadzącego zajęcia zadania domowego:

- opisać metodę będącą modyfikacją metody Eulera;

- napisać program komputerowy rozwiązujący podane równanie różniczkowe zwyczajne przy
pomocy metody RK4.


Wyszukiwarka

Podobne podstrony:
zestawy zadań, rrz 04 22
zestawy zadań, rrz 02 25
lab10a, Typy danych - pliki
zestawy zadań rrz-02-25
powt mobl 2
BioInfo RRZ
zestawy zadań rrz-03-18
MObl L05
zestawy zadań rrz-03-04
wstęp do metod roz rrz
RRZ jednorodne i liniowe II rzedu(nst)
zestawy zadań, rrz 03 11
MObl L08 nieliniowe
zestawy zadań rrz-04-22
MObl L04 matlab
MObl L06 calkow
MObl L08 mzero
MObl L07 uklady

więcej podobnych podstron