Metody numeryczne - if.pw.edu.pl agatka/numeryczne/wyklad_09.pdf · Rozwa Ŝmy równanie struny zaczepionej

Embed Size (px)

Text of Metody numeryczne - if.pw.edu.pl agatka/numeryczne/wyklad_09.pdf · Rozwa Ŝmy równanie struny...

Dr Piotr Fronczak

Metody numeryczne

Wykad nr 9

Rwnania rniczkowe zwyczajne - problemy brzegowe (BVP)

Dotychczas omawialimy problemy pocztkowe rwania rniczkowe,

w ktrych dane byy wartoci zmiennych zalenych (lub ich pochodne)

dla pewnej szczeglnej wartoci zmiennej niezalenej.

Teraz naszym zadaniem bdzie wyznaczenie spord funkcji speniajcych

dane rwnanie rniczkowe zwyczajne, zdefiniowanych w rozwaanym obszarze,

tych, ktre speniaj dodatkowe warunki na brzegu tego obszaru. Warunki takie

nazywane s warunkami brzegowymi i s naoone na wartoci funkcji i jej

pochodnych w wicej ni jednym punkcie tego obszaru.

BVP s zwykle szczeglnym przypadkiem rwna rniczkowych czstkowych,

ktrych rozwizaniem s funkcje czasu i pooenia, np. pole elektryczne,

rozkad temperatury, prdko przepywu itp.

2

2

x

y

t

y

=

rwnanie dyfuzji

2

2

2

2

x

y

t

y

=

rwnanie falowe

Jeli y = y(x) (nie zaley od czasu stany ustalone, rwnowagi), to otrzymujemy

ogln posta BVP (drugiego rzdu):

),(2

2

dx

dyyf

dx

yd=Dane jest rwnanie

w dziedzinie bxa

oraz okrelone s w pewien sposb warunki brzegowe.

Typowe formy warunkw brzegowych

Warunki brzegowe Dirichleta

Dwie wartoci y(x) s dane jedna dla x = a, druga dla x = b.

y(a) = Ya oraz y(b) = Yb

Warunki brzegowe Neumanna

Dwie wartoci dy/dx s dane jedna dla x = a, druga dla x = b.

a

ax

Ddx

dy=

=

b

bx

Ddx

dy=

=

oraz

Mieszane warunki brzegowe Robina

a

ax

Caycdx

dyc =+

=

)(21 bbx

Cbycdx

dyc =+

=

)(43oraz

4321 ,,, cccc - stae

Metoda strzaw

bxaxFyxkdx

yd=+ );()(

2

2

Rozpatrzmy oglne rwnanie

W celu jego zdyskretyzowania przyjmijmy

Nabh /)( =

gdzie N jest liczb punktw, na ktre dzielimy przedzia [a,b].

Dyskretyzujc drug pochodn

)(2 2

2

11'' hOh

yyyy iiii +

+= +

iiiiii Fyk

h

yyy=+

+ +2

11 2

otrzymujemy rwnanie

iiiiii Fyk

h

yyy=+

+ +2

11 2

Chcemy scakowa to rwnanie od x0 = a do xN = b, wic przedstawmy je w postaci

iiiiii Fhykhyyy22

11 2 ++= +

1

2

11

2

102 2 Fhykhyyy ++=Czyli dla i = 1

Mamy dane y0 = y(a) = 0, ale y1 jest nieznane.

Znajomo y1 jest rwnoznaczna ze znajomoci y dla x = 0:

h

yyy iii

+1'

001 yhyy +

Rozwamy rwnanie struny zaczepionej na obu kocach.

Jedyn si dziaajc na element struny jest sia

napre T. Jej warto w kierunku pionowym

( ))sin()sin()sin()sin( 1 iiTTTF =+= +

Zakadajc, e kty s mae

x

yytg iiii

= +++

111 )()sin(

oraz, e przypieszenie elementu struny jest proporcjonalne do wychylenia

ya2=

dostajemy

+= +

x

yyyTyxma iii 11

2 2)(

0)(

2 22

11 =+

+ + yx

yyyT iii

Dla 0x 0'' 2 =+ yTy

0'' =+ yy T

2 = 2

2

2

2

x

y

t

y

=

2

2

dt

yda =

Zakadajc

e

otrzymalibymy

0)(,0)0(0'' ===+ Lyyyy

Gdy > 0, to istnieje rozwizanie postaci

)sin()cos( xBxAy +=

Uwzgldniajc warunki brzegowe otrzymujemy nieskoczenie wiele rozwiza

...,3,2,1,sin)( =

= n

L

xnxyn

Gdy = 0BAxy +=

Uwzgldniajc warunki brzegowe otrzymujemy rozwizanie trywialne y = 0.

z wartociami wasnymi...,3,2,1,

2

22

== nL

nn

Poniewa problem fizyczny nie ma ujemnych wartoci wasnych,

nie musimy analizowa przypadku < 0.

Zatem mamy rozwizanie

...,3,2,1,sin)( =

= n

L

xnxyn

rwnania

0)(,0)0(0''2

22

===+ LyyyL

ny

Wybierzmy n = 4 i L = 1.

( ) 0)1(,0)0(,4sin)( === yyxxy

( )xxy 4cos4)(' =Pochodna wynosi

=0

=0

)162(4 222 hhy =

iiiiii Fhykhyyy22

11 2 ++= +

Oraz dalsze kroki zgodnie ze wzorem ze slajdu nr 6

)4cos(4 001 xhyy +=

1

2

11

2

102 2 Fhykhyyy ++=

A kolejne kroki rozwizania

x yteor ynum

0 0.0000 0.0000

0.1 0.9511 1.2566

0.2 0.5878 0.5289

0.3 -0.5878 -1.0341

0.4 -0.9511 -0.9641

0.5 0.0000 0.6283

0.6 0.9511 1.2285

0.7 0.5878 -0.1113

0.8 -0.5878 -1.2753

0.9 -0.9511 -0.4255

1 0.0000 1.0963

Podzielmy obszar rozwiza [0,1] na 10 rwnych czci (h = 0.1)

x yteor ynum

0 0.0000 0.0000

0.05 0.5878 0.6283

0.1 0.9511 1.0086

0.15 0.9511 0.9907

0.2 0.5878 0.5817

0.25 0.0000 -0.0570

0.3 -0.5878 -0.6731

0.35 -0.9511 -1.0235

0.4 -0.9511 -0.9699

0.45 -0.5878 -0.5333

0.5 0.0000 0.1138

0.55 0.5878 0.7160

0.6 0.9511 1.0355

0.65 0.9511 0.9462

0.7 0.5878 0.4834

0.75 0.0000 -0.1703

0.8 -0.5878 -0.7567

0.85 -0.9511 -1.0444

0.9 -0.9511 -0.9198

0.95 -0.5878 -0.4321

1 0.0000 0.2262

-1.5000

-1.0000

-0.5000

0.0000

0.5000

1.0000

1.5000

0 0.2 0.4 0.6 0.8 1 1.2

yteor

ynum

-1.5000

-1.0000

-0.5000

0.0000

0.5000

1.0000

1.5000

0 0.2 0.4 0.6 0.8 1 1.2

yteor

ynum

Podzielmy obszar rozwiza [0,1] na 20 rwnych czci (h = 0.05)

Zwykle nie znamy wartoci i wektorw wasnych ukadu. Trzeba je zgadn.

Przeksztamy oglny problem brzegowy drugiego rzdu

badx

dyYbyYaybxayxf

dx

yd=== )(,)(),,(

2

2

zdla

w ukad dwch rwna pierwszego rzdu:

aYaywdx

dy== )( pocz. war. z

),,( wyxfdx

dw= BEZ WARUNKU POCZTKOWEGO

Musimy znale warunek pocztkowy

===axdx

dyaw )(

Innymi sowy musimy znale nachylenie OKkrzywej y w punkcie a.

Ya

Yb

x=a x=b2 < OK < 1

0)(,0)0(016'' 2 ===+ Lyyyy

Wrmy do naszego przykadu (dla n=4, L=1)

Przepiszmy to rwnanie w postaci ukadu dwch rwna pierwszego rzdu:

==

==

)0(16

0)0(

2wyw'

ywy'

- parametr ukadu.

Musimy znale miejsce zerowe funkcji bdu

0)1()1()( == yyE

Zwykle powyszy ukad rwna bdziemy rozwizywa jedn z metod podanychna poprzednim wykadzie (np. Rungego-Kutty), ale na razie, korzystajc z metod analitycznych, zauwamy e

Problem pocztkowy!

4

)4sin()(

xCxy =

A zatem nie znajdziemy staej C z warunku

y(1) = 0.

0.2 0.4 0.6 0.8 1.0

-1.0

-0.5

0.5

1.0

Wybierzmy zatem na potrzeby dydaktyki inny warunek brzegowy:

587.0)7.0( =yMetoda bisekcji.

100

100

1

0

=

=

-100 -50 50 100

-6

-4

-2

2

4

0)(2

110 =+= r

rrEE = 00 0)()(

-10.5 -10.0 -9.5 -9.0

-0.06

-0.04

-0.02

0.02

0.04

2.10=r

Sprawdmy:

17.10)7.04cos(4)'7.04sin( ==

Metoda siecznych.

11

1 0

+

=

ii

i

ii

ii EEE

i

ii

iiii E

EE

=

+

1

11

)(

E=0

E

Ei-1

Ei

i-1 i

369.6100

194.5100 11

==

==

ii

ii

E

E

16.10)369.6(369.6194.5

)100100(1001 =

+

=+i

17.10)7.04cos(4)'7.04sin( == Przypomnienie:

Wniosek: szybka zbieno ju po pierwszej iteracji.

Metoda rnic skoczonych

W metodzie tej, pochodne w rwnaniu rniczkowym zastpujemy rnicami

skoczonymi.

Dziedzin rozwiza [a,b] dzielimy na N przedziaw o dugoci h = (b-a) / N.

Mamy N+1 punktw. Dla kadego z nich zapisujemy rwnanie rnicowe czyli

rwnanie algebraiczne.

Mamy zatem ukad rwna algebraicznych, ktry rozwizujemy jedn z metod

omwionych na wykadzie nr 3.

x =a1 xi xi+1xi-1 x =bN+1

h

x

y

Przykad:

0)1(,0)0(,12

2

=== yydx

yd

Drug pochodn mona przybliy za pomoc trjpunktowych rnic centralnych

(zwykle, cho niekoniecznie). Mamy zatem

Rozwizanie analityczne:22

)(2

xxxy =

By otrzyma rozwizanie numeryczne najpierw dyskretyzujemy rwnanie dla punktw

[x0, x1, , xN], gdzie x0 = 0, xN = 1, xi = ih.

Wybierzmy h = 0.2 (N = 5).

4,3,2,1,12

2

11 ==+ + i

h

yyy iii dla

Zwrmy uwag, e s to rwnania tylko dla punktw wewntrznych.

Ukad nasz ma 4 niewiadome i 4 rwnania:

. h y y- y

, h y y- y

, h y y-y

, h y y -y

2543

2432

2321

2210

2

2

2

2

=+

=+

=+

=+

Macierz powysza jest przykadem macierzy trjdiagonalnej.

Cho powyszy ukad mona ro