5 b, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody numeryczne dla zastosowań inżynierskich [2007], Kosma Z - Metody numeryczne dla zastosowań inżynierskich [2007]


0x01 graphic

możemy stwierdzić, że wzór różnicowy (5.6) jest dobrą aproksymacją pierwszej pochodnej, gdy liczba falowa k jest mała, a długość fali jest duża. Tak więc metody różnicowe można stosować w zjawiskach długofalowych, a aproksymacja jest tym lepsza im więcej jest punktów dyskretyzacji.

Podobnie dla operatora różnicowego drugiego rzędu (5.15) otrzymujemy

0x01 graphic

i po rozwinięciu 0x01 graphic
dla małych mamy

0x01 graphic
(5.23)

Jeśli porównamy ten rezultat z wyrażeniem dla drugiej pochodnej modu (5.21)

to widzimy, że operator różnicowy drugiego rzędu jest aproksymacją operatora różniczkowego drugiego rzędu z dokładnością do wyrazów drugiego rzędu ze względu na iloczyn liczby falowej i kroku siatki.

5.2. Metody całkowania numerycznego

Zagadnienie przybliżonego obliczania całki oznaczonej danej funkcji ciągłej 0x01 graphic
w przedziale 0x01 graphic

0x01 graphic
(5.24)

często występuje w praktyce obliczeniowej, gdyż wyznaczanie funkcji pierwotnej jest bardzo trudne lub wręcz niemożliwe, gdy funkcja 0x01 graphic
nie jest funkcją elementarną lub gdy funkcja 0x01 graphic
jest określona za pomocą tablicy.

Zagadnienie przybliżonego obliczania całek można traktować jako aproksymację funkcjonału I innymi, prostszymi do obliczenia funkcjonałami. W rachunku numerycznym muszą mieć one postać pozwalającą na obliczenie ich wartości za pomocą skończonej liczby działań arytmetycznych. Wzory numeryczne całkowania funkcji jednej zmiennej niezależnej nazywane są kwadraturami, funkcji wielu zmiennych niezależnych - kubaturami.

Istnieją różne rodzaje kwadratur. Najważniejsze z nich to:

- kwadratury interpolacyjne i aproksymacyjne,

- kwadratury Newtona-Cotesa,

- kwadratury Gaussa.

Mianem kwadratur interpolacyjnych lub aproksymacyjnych określamy kwadratury otrzymane przez całkowanie wzorów interpolacyjnych lub aproksymacyjnych funkcji podcałkowej W szczególności mogą to być wzory oparte na całkowaniu wielomianów interpolacyjnych Lagrange'a niskiego stopnia lub też równań funkcji sklejanych.

Po scałkowaniu wielomianu interpolacyjnego Lagrange'a (4.13) - (4.14) otrzymamy kwadraturę postaci

0x01 graphic
(5.25)

w której są ustalonymi węzłami, a współczynniki są określone wzorem

0x01 graphic
(5.26)

Dla wyznaczenia współczynników zauważmy, że:

1) współczynniki przy danym wyborze węzłów nie zależą od wyboru postaci funkcji

2) wzór (5.25) jest dokładny dla wielomianu stopnia n.

Podstawiając więc we wzorze (5.25) otrzymamy układ 0x01 graphic
równań liniowych:

0x01 graphic
0x01 graphic
(5.27)

0x01 graphic
0x01 graphic
(5.27cd.)

gdzie

0x01 graphic

z którego można obliczyć współczynniki: Wyznacznik macierzy współczynników układu (5.27) jest wyznacznikiem Vandermonda.

Prostym przykładem kwadratury interpolacyjnej tego rodzaju może być kwadratura postaci

0x01 graphic
(5.28)

Układ (5.27) dla 0x01 graphic
oraz:

0x01 graphic

redukuje się do układu następującego:

Stąd:

i ostatecznie

0x01 graphic

Dokładność obliczania całki (5.24) za pomocą kwadratur interpolacyjnych lub aproksymacyjnych zależy od oszacowania dokładności przybliżenia funkcji 0x01 graphic
funkcją 0x01 graphic

0x01 graphic

(5.29)

Wynika stąd, że w wielu przypadkach szczególnie przydatne mogą okazać się kwadratury interpolacyjne lub aproksymacyjne oparte na całkowaniu równań funkcji sklejanych. Przy wykorzystaniu równań wielomianowej funkcji sklejanej trzeciego stopnia (4.74) ÷ (4.78) otrzymujemy

0x01 graphic
(5.30)

W podobny sposób, po scałkowaniu równania hiperbolicznej funkcji sklejanej (4.129) w połączeniu z układem równań (4.132), dostajemy

0x01 graphic
(5.31)

*

Kwadraturami Newtona-Cotesa nazywamy kwadratury postaci (5.25), otrzymane przez całkowanie wielomianów interpolacyjnych opartych na równoodległych węzłach

0x01 graphic
(5.32)

Współczynniki kwadratur Newtona-Cotesa można wyznaczyć drogą całkowania wielomianu interpolacyjnego Lagrange'a (4.18) - (4.19) lub też, stosowaną w rozdziale poprzednim, metodą rozwijania funkcji 0x01 graphic
w szeregi Taylora względem punktu

Dla zastosowania drugiej z tych możliwości rozważymy zależność wynikającą ze wzorów (5.24) i (5.25)

0x01 graphic
(5.33)

gdzie 0x01 graphic
jest błędem przybliżenia. Po scałkowaniu rozwinięcia danej funkcji 0x01 graphic
w szereg Taylora

i podstawieniu rozwinięć

uzyskujemy związek

0x01 graphic
(5.34)

Z porównania mnożników występujących przy kolejnych potęgach h, z lewej i prawej strony tego związku, otrzymujemy równania, z których wyznaczamy nieznane współczynniki

W przypadku 0x01 graphic
mamy

skąd wynikają równania:

i ostatecznie po porównaniu dokładnej wartości całki

0x01 graphic

z jej wartością przybliżoną

0x01 graphic

jest

0x01 graphic
(5.35)

Jest to znany wzór trapezów, odznaczający się nadspodziewanie małym błędem 0x01 graphic
Widzimy więc, że operacja całkowania przybliżonego jest znacznie dokładniejsza od operacji różniczkowania numerycznego.

Zależność (5.34) w przypadku 0x01 graphic
przyjmuje postać

0x01 graphic

0x01 graphic
0x01 graphic
0x01 graphic
0x01 graphic

Stąd otrzymujemy układ równań:

którego rozwiązaniem są liczby:

0x01 graphic

Podstawiając je do (5.33) uzyskujemy znany wzór parabol, zwany też wzorem Simpsona

0x01 graphic
(5.36)

Zwraca uwagę bardzo wysoka dokładność tego wzoru, wynikająca z tożsamościowego znikania współczynników przy pochodnej 0x01 graphic
po podstawieniu wyznaczonych wartości i

Ze względu na trudności związane ze stosowaniem wielomianów interpolacyjnych wysokich stopni, w praktyce raczej nie wykorzystuje się kwadratur Newtona-Cotesa wysokich rzędów. Na ogół bardziej celowe jest podzielenie przedziału całkowania na większą liczbę podprzedziałów i stosowanie dla nich kwadratur New-tona-Cotesa niskiego rzędu. Skonstruowane w ten sposób kwadratury, określone na całym przedziale 0x01 graphic
, są nazywane złożonymi kwadraturami Newtona-Cotesa.

Złożony wzór trapezów otrzymujemy po podzieleniu przedziału całkowania 0x01 graphic
na m równych części 0x01 graphic
i zsumowaniu całek (5.35) dla każdego podprzedziału

(5.37)

Na podstawie oszacowania (5.35) błąd złożonego wzoru trapezów wynosi

(5.38)

gdzie

Analogicznie wyprowadza się złożony wzór parabol przy założeniu, że m jest parzyste. Po zsumowaniu całek (5.36) dla kolejnych podprzedziałów o długości 2 h mamy

0x01 graphic
(5.39)

gdzie:

0x01 graphic

Błąd złożonego wzoru parabol jest następujący:

0x01 graphic
(5.40)

gdzie

0x01 graphic

*

Rozważane dotąd kwadratury interpolacyjne lub aproksymacyjne, jak i kwadra-tury Newtona-Cotesa są kwadraturami z ustalonymi węzłami. Kwadratury Gaussa są natomiast kwadraturami postaci (5.25), w których dobierane są nie tylko współ-czynniki ale także węzły - w taki sposób, aby kwadratura była dokładna dla możliwie najwyższego stopnia wielomianu.

Przy wyznaczaniu parametrów kwadratur Gaussa wygodnie jest w obliczanej całce (5.24) dokonać liniowej zamiany zmiennej całkowania

(5.41)

pozwalającej na transformację dowolnego przedziału 0x01 graphic
na przedział znormalizowany 0x01 graphic

0x01 graphic
(5.42)

Rozważymy teraz zadanie: jak wybrać węzły: oraz współczynniki: żeby kwadratura postaci

0x01 graphic
(5.43)

była dokładna dla wielomianu stopnia 0x01 graphic
, którego liczba współczynników jest równa liczbie nieznanych parametrów i Oznacza to, że równość (5.43) musi być spełniona dla wielomianów:

gdyż dla

0x01 graphic

mamy

0x01 graphic

Stąd przy wykorzystaniu związków:

0x01 graphic

otrzymujemy układ równań:

0x01 graphic
(5.44)

0x01 graphic
Bezpośrednie rozwiązywanie nieliniowego układu równań (5.44) napotyka na duże trudności matematyczne. Dlatego też najczęściej funkcję 0x01 graphic
przyjmuje się w postaci

(5.45)

gdzie są wielomianami Legendre'a, zdefiniowanymi wzorami:

0x01 graphic
(5.46)

Wielomian Legendre'a jest funkcją parzystą dla n = 2 m i nieparzystą dla n = = 2 m +1, dla n ≥ 1 ma n różnych pierwiastków rzeczywistych, leżących w przedziale otwartym (1, 1).

Wielomiany Legendre'a są ortogonalne do wszystkich wielomianów stopnia mniejszego od n+1. Zatem mamy

0x01 graphic

i następnie po podstawieniu (5.45) do (5.43) stwierdzamy, że suma

(5.47)

znika dla dowolnych jeśli

(5.48)

Kwadratura (5.43) będzie więc dokładna dla wielomianów stopnia gdy jej węzłami będą zera wielomianu Legendre'a Po obliczeniu wartości węzłów współczynniki 0x01 graphic
można łatwo wyznaczyć z układu równań liniowych (5.44).

W najprostszym przypadku dla n = 0 jest - co oznacza, że kwadratura Gaussa z jednym węzłem jest równoważna wzorowi prostokątów

0x01 graphic

W przypadku 0x01 graphic
obliczając najpierw pierwiastki wielomianu Legendre'a drugiego stopnia

otrzymujemy:

i następnie z układu równań:

dostajemy

Interpretacja geometryczna kwadratury Gaussa z dwoma węzłami

0x01 graphic
(5.49)

dokładnej dla wielomianów stopnia trzeciego, jest przedstawiona na rysunku 5.3. Funkcja podcałkowa 0x01 graphic
jest interpolowana funkcją liniową 0x01 graphic
przechodzącą przez punkty i

Rys. 5.3

Po wyznaczeniu pierwiastków wielomianu Legendre'a trzeciego stopnia

można, w podobny sposób, otrzymać kwadraturę Gaussa z trzema węzłami

0x01 graphic
(5.50)

oraz kwadratury z większą liczbą węzłów.

Błąd popełniany przy obliczaniu całki (5.24) za pomocą kwadratur Gaussa dla dowolnej wartości n wynosi [9]

(5.51)

Tak samo jak w przypadku kwadratur Newtona-Cotesa można budować złożone kwadratury Gaussa dzieląc przedział całkowania na mniejsze podprzedziały i stosując w każdym z nich kwadraturę Gaussa ustalonego stopnia

0x01 graphic

*

Na zakończenie omawiania najważniejszych metod całkowania numerycznego przedstawimy jeszcze kilka uwag dotyczących kwadratury Czebyszewa i ekstrapolacji Richardsona.

Kwadraturą Czebyszewa nazywamy wzór całkowania numerycznego, w którym wszystkie współczynniki są sobie równe

0x01 graphic
(5.52)

Wartość B znajdujemy przyjmując 0x01 graphic

,

a wartości współrzędnych węzłów są wyznaczane z warunków, aby kwadratura była dokładna dla wszystkich wielomianów do stopnia 0x01 graphic
włącz-nie

Ekstrapolacja Richardsona jest metodą przyspieszania szybkości zbieżności ciągu kwadratur o znanym rzędzie błędu

0x01 graphic

gdzie

pozwalającą na obliczenie całki I z większą dokładnością dla dwóch znanych jej przybliżeń i - odpowiadającym krokom całkowania

Przy założeniu, że

(5.53)

możemy napisać:

(5.54)

Stąd otrzymujemy zależność

0x01 graphic

z której wyznaczamy

i następnie ze wzoru (5.53) mamy

W szczególnym przypadku dla uzyskujemy oszacowanie błędu

i ostatecznie z (5.54b) jest

(5.55)

*

Program 5.1 jest przeznaczony do całkowania funkcji 0x01 graphic
w przedziale 0x01 graphic
dla zadanej liczby podprzedziałów m przy wykorzystaniu czterech rodzajów kwadratur:

1) złożony wzór trapezów,

2) złożony wzór parabol,

3) złożony wzór Gaussa z dwoma węzłami,

4) złożony wzór Gaussa z trzema węzłami.

{Program 5.1}

uses

Crt;

var

m: Integer;

a,b: Real;

zn: Char;

label powt;

function f(x: Real): Real;

begin

f:=Sqrt(1+2*x);

end;

function Calka1(a,b: Real; m: Integer): Real;

{zlozony wzor trapezow}

var

i: Integer;

h,x,s: Real;

begin

h:=(b-a)/m;

s:=(f(a)+f(b))/2;

for i:=1 to m-1 do begin

x:=a+i*h;

s:=s+f(x);

end;

Calka1:=s*h;

end;

function Calka2(a,b: Real; m:Integer): Real;

{zlozony wzor parabol}

var

k,q: Integer;

h,x,s1,s2,x1,x2: Real;

begin

h:=(b-a)/m;

q:=m div 2;

s1:=0; s2:=0;

for k:=1 to q do begin

x1:=a+(2*k-1)*h;

s1:=s1+f(x1);

end;

for k:=1 to q-1 do begin

x2:=a+2*k*h;

s2:=s2+f(x2);

end;

Calka2:=h*(f(a)+f(b)+4*s1+2*s2)/3;

end;

function Calka3(a,b: Real; m: Integer): Real;

{zlozony wzor Gaussa z dwoma wezlami}

var

i: Integer;

h,t0,t1,x0,x1,xp,s: Real;

begin

s:=0;

h:=(b-a)/m;

t0:=-1/Sqrt(3);

t1:=1/Sqrt(3);

for i:=1 to m do begin

xp:=a+(i-1)*h+h/2;

x0:=xp+h*t0/2;

x1:=xp+h*t1/2;

s:=s+(f(x0)+f(x1));

end;

Calka3:=s*h/2;

end;

function Calka4(a,b: Real; m: Integer): Real;

{zlozony wzor Gaussa z trzema wezlami}

var

i: Integer;

h,t0,t1,t2,x0,x1,x2,xp,s: Real;

begin

s:=0;

h:=(b-a)/m;

t0:=-Sqrt(3/5);

t1:=0;

t2:=Sqrt(3/5);

for i:=1 to m do begin

xp:=a+(i-1)*h+h/2;

x0:=xp+h*t0/2;

x1:=xp+h*t1/2;

x2:=xp+h*t2/2;

s:=s+(5*f(x0)+8*f(x1)+5*f(x2));

end;

Calka4:=s*h/18;

end;

begin

powt:

ClrScr;

Writeln('PROGRAM 5.1');

Writeln('Obliczanie calki oznaczonej.');

Writeln;

Writeln('Granice calkowania:');

Write(' a = '); Readln(a);

Write(' b = '); Readln(b);

Write('Liczba podprzedzialow - m = '); Readln(m);

if (m div 2)*2<>m then begin

m:=m+1;

Writeln('Liczba podprzedzialow - m = ',m:3);

end;

Writeln;

Writeln('Obliczone wartosci calki:');

Writeln(' 1) wzor trapezow - I = ',Calka1(a,b,m):16);

Writeln(' 2) wzor parabol - I = ',Calka2(a,b,m):16);

Writeln(' 3) wzor Gaussa(n=2) - I = ',Calka3(a,b,m):16);

Writeln(' 4) wzor Gaussa(n=3) - I = ',Calka4(a,b,m):16);

Writeln;

Write('Nowe obliczenia: (t/n)? ');

zn:=ReadKey;

if zn='t' then goto powt;

end.

Za pomocą programu 5.1, przyjmując m = 10, obliczono trzy całki:

0x01 graphic

0x01 graphic

0x01 graphic

Otrzymano wyniki reprezentowane następującymi wydrukami:

PROGRAM 5.1

Obliczanie calki oznaczonej.

Granice calkowania

a = 0

b = 2

Liczba podprzedzialow - m = 10

Obliczone wartosci calki:

1) wzor trapezow - I = 6.410338768E+00

2) wzor parabol - I = 6.389112621E+00

3) wzor Gaussa(n=2) - I = 6.389053736E+00

4) wzor Gaussa(n=3) - I = 6.389056099E+00

Nowe obliczenia: (t/n)?

PROGRAM 5.1

Obliczanie calki oznaczonej.

Granice calkowania

a = 0

b = 1

Liczba podprzedzialow - m = 10

Obliczone wartosci calki:

1) wzor trapezow - I = 6.937714032E-01

2) wzor parabol - I = 6.931502307E-01

3) wzor Gaussa(n=2) - I = 6.931470512E-01

4) wzor Gaussa(n=3) - I = 6.931471805E-01

Nowe obliczenia: (t/n)?

PROGRAM 5.1

Obliczanie calki oznaczonej.

Granice calkowania

a = 0

b = 1

Liczba podprzedzialow - m = 10

Obliczone wartosci calki:

1) wzor trapezow - I = 1.398365653E+00

2) wzor parabol - I = 1.398715977E+00

3) wzor Gaussa(n=2) - I = 1.398717538E+00

4) wzor Gaussa(n=3) - I = 1.398717474E+00

Nowe obliczenia: (t/n)?

*

Przedstawione kwadratury, przeznaczone do obliczania całek pojedynczych, mogą być uogólniane w rozmaity sposób do numerycznego przybliżenia całek wielokrotnych. W najprostszym przypadku, w którym całka wielokrotna daje się wyrazić jako całka iterowana, zadanie sprowadza się do wielokrotnego zastosowania kwadratur jednowymiarowych. Przy budowaniu kwadratur wielowymiarowych (kubatur) podstawową trudnością jest brak możliwości dowolnego wyboru węzłów, stąd też najczęściej stosowane są wielowymiarowe odpowiedniki kwadratur Gaussa - mające przy ustalonym rzędzie kubatury minimalną liczbę węzłów.

Ograniczymy się do przedstawienia kubatur Gaussa do obliczania całek podwójnych po dowolnym trójkącie i dowolnym czworokącie, gdyż całki tego typu często występują przy rozwiązywaniu różnych zagadnień metodą elementów skończonych oraz metodą elementów brzegowych [24]. Kubatury Simpsona są omówione w monografii [2].

Rys. 5.4

W pierwszym przypadku należy obliczyć całkę podwójną

(5.56)

funkcji w trójkącie o wierzchołkach: - rys. 5.4a.

Dokonując zamiany zmiennych niezależnych:

(5.57)

obszar trójkąta pierwotnego transformujemy do obszaru trójkąta prostokątnego równoramiennego (rys. 5.4b) o wierzchołkach: 0x01 graphic
0x01 graphic
oraz 0x01 graphic
- przy czym wierzchołkowi 0x01 graphic
odpowiada punkt 0x01 graphic
wierzchołkowi 0x01 graphic
- punkt 0x01 graphic
a wierzchołkowi 0x01 graphic
- punkt 0x01 graphic

Przy zmianie układu współrzędnych funkcję podcałkową mnożymy przez jakobian przekształcenia

który jest równy modułowi podwojonego pola A wyjściowego trójkąta (moduł iloczynu wektorowego wektorów zbudowanych na dwóch kolejnych bokach trójkąta). Funkcja podcałkowa dla trójkąta znormalizowanego jest więc następująca

Kubaturę Gaussa dla obszaru trójkąta znormalizowanego przyjmujemy w postaci

0x01 graphic
(5.58)

gdzie 0x01 graphic
są współrzędnymi punktów Gaussa, a - wagami.

W najprostszym przypadku liniowej aproksymacji funkcji 0x01 graphic

mamy

0x01 graphic

Porównując otrzymaną całkę z kubaturą (5.58)

otrzymujemy

Zatem ostatecznie jest

0x01 graphic

czyli przybliżona wartość całki podwójnej (5.56) jest iloczynem pola trójkąta i wartości funkcji podcałkowej w środku ciężkości trójkąta.

Przyjęcie aproksymacji kwadratowej (n = 2) daje następujące wartości współrzędnych punktów Gaussa i wag:

Rys. 5.5

Dla wyznaczenia całki podwójnej (5.56) w dowolnym czworokącie (rys. 5.5a) o wierzchołkach: dokonujemy najpierw transfor-macji określonej zależnościami:

280 5. Różniczkowanie, całkowanie i aproksymacja

5.2. Metody całkowania numerycznego 281



Wyszukiwarka

Podobne podstrony:
7 h, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numerycz
Spis tresci, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy
4 a, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numerycz
1 c, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numerycz
4 m, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numerycz
Okladka, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy nume
1 h, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numerycz
Przedmowa, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy nu
Notka, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody numeryczne dla zas
Contents, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy num
4 i, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numerycz
6 c, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numerycz
5 f, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numerycz
2 c, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numerycz
2 f, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numerycz
1 d, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numerycz
7 c 2, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numery
5 h, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numerycz
7 b, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numerycz

więcej podobnych podstron