6 f, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numeryczne [2009], Kosma Z - Metody i algorytmy numeryczne [2009]


6.3. Równania całkowe

6.3.1. Wprowadzenie

Równaniem całkowym nazywa się równanie, w którym funkcja niewiadoma występuje pod znakiem całki. Równanie całkowe można zapisać w postaci ogólnej

0x01 graphic
(6.109)

gdzie F i K są danymi funkcjami trzech argumentów, jest obszarem w przestrzeni całka po zbiorze jest całką dowolnego typu, ϕ jest funkcją niewiadomą.

Równaniami całkowymi są opisywane różne zjawiska i procesy fizyczne, przy czym najczęściej są to zagadnienia opisywane równaniami całkowymi liniowymi postaci

0x01 graphic
(6.110)

gdzie oraz f, K są funkcjami danymi, ϕ - funkcją niewiadomą, λ - parametrem; funkcję 0x01 graphic
nazywamy jądrem równania (6.110).

Równania całkowe liniowe mogą być równaniami całkowymi Volterry, w których obszar całkowania jest zmienny lub też równaniami całkowymi Fredholma, w których obszar całkowania jest stały - przy czym rozróżniamy cztery zasadnicze typy równań liniowych:

- równanie Volterry drugiego rodzaju

0x01 graphic
(6.111)

- równanie Volterry pierwszego rodzaju

0x01 graphic
(6.112)

- równanie Fredholma drugiego rodzaju

0x01 graphic
(6.113)

- równanie Fredholma pierwszego rodzaju

0x01 graphic
(6.114)

W analizie numerycznej najważniejszymi spośród czterech wymienionych typów równań (6.111) ÷ (6.114) są równania całkowe liniowe drugiego rodzaju, gdyż równania Fredholma pierwszego rodzaju można rozwiązywać w podobny sposób jak równania Fredholma drugiego rodzaju, a większość równań Volterry pierwszego rodzaju można sprowadzić do równań Volterry drugiego rodzaju po obustronnym zróżniczkowaniu równania (6.112) względem zmiennej x

0x01 graphic
(6.115)

lub też po dokonaniu podstawienia

0x01 graphic

w wyniku którego po scałkowaniu przez części równania

0x01 graphic

otrzymujemy

0x01 graphic
(6.116)

Przy założeniach: dla równania (6.115) i (6.116) są równaniami Volterry drugiego rodzaju i są równoważne równaniu (6.112).

W przypadku równań nieliniowych można wykorzystać jedną z metod iteracyjnych, np. po zastosowaniu metody Newtona-Kantorowicza [36] do równania

0x01 graphic
(6.117)

otrzymujemy następujący ciąg kolejnych przybliżeń

0x01 graphic
(6.118)

Rozwiązania przybliżone zagadnień dla równań całkowo-różniczkowych, np. dla zagadnienia:

0x01 graphic

mogą być oparte na metodach wynikających z połączenia algorytmów numerycznych opracowanych dla równań całkowych z algorytmami numerycznymi stosowanymi do rozwiązywania zagadnień brzegowych dla równań różniczkowych zwyczajnych.

Istnieje ścisły związek równań różniczkowych zwyczajnych z równaniami całkowymi.

Rozwiązanie równania różniczkowego zwyczajnego

(6.119)

z ciągłymi współczynnikami dla warunków początkowych:

(6.120)

jest równoważne równaniu całkowemu Volterry drugiego rodzaju postaci [36]

0x01 graphic
(6.121)

gdzie:

0x01 graphic
(6.122)

0x01 graphic
(6.123)

Podobnie rozwiązania wielu zagadnień brzegowych dla równań różniczkowych zwyczajnych można sprowadzić do rozwiązywania równań całkowych, np. funkcja spełniająca równanie różniczkowe zwyczajne

0x01 graphic
(6.124)

z warunkami brzegowymi:

(6.125)

gdzie i są danymi funkcjami ciągłymi na przedziale 0x01 graphic
spełnia również równanie całkowe [37]

0x01 graphic
(6.126)

gdzie:

0x01 graphic
(6.127)

Równania całkowe są rozwiązywane różnymi metodami analitycznymi, analityczno-numerycznymi i numerycznymi, z których najważniejsze to:

1) metoda kolejnych przybliżeń, w której buduje się ciąg funkcji za pomocą wzoru rekurencyjnego

0x01 graphic
(6.128)

zbieżny dla dowolnego przybliżenia początkowego

2) metoda zastępowania jąder równań całkowych przez jądra zdegenerowane

0x01 graphic
(6.129)

gdzie i są dwoma układami funkcji liniowo-niezależnych,

3) metody wariacyjne, w których rozwiązania równania całkowego poszukuje się - tak samo jak w zagadnieniu aproksymacji średniokwadratowej - w postaci kombinacji liniowej układu funkcji liniowo-niezależnych i żąda, żeby odpowiedni funkcjonał od residuum równania całkowego miał możliwie najmniejszą normę. Na tej zasadzie oparte są metody: kollokacji, najmniejszych kwadratów i Galerkina,

4) metody polegające na przybliżaniu całek występujących w równaniach całkowych odpowiednimi kwadraturami.

W następnych dwóch rozdziałach zostaną zaprezentowane proste algorytmy rozwiązywania równań (6.111) i (6.113) przy wykorzystaniu metody trapezów i metody kollokacji liniowymi funkcjami sklejanymi. Metoda kollokacji funkcjami sklejanymi trzeciego stopnia dla tych równań całkowych, pozwalająca na osiągnięcie bardzo dużej dokładności obliczeń, została przedstawiona w monografii [38].

6.3.2. Równania całkowe Volterry drugiego rodzaju

Przybliżając w równaniu (6.111) całkę oznaczoną za pomocą złożonego wzoru trapezów (5.37) otrzymamy układ równań liniowych z trójkątną macierzą współczynników:

0x01 graphic
(6.130)

gdzie:

Z kolejnych równań układu (6.130) rekurencyjnie obliczamy:

0x01 graphic
(6.131)

W podobny sposób aproksymując rozwiązanie równania całkowego (6.111) liniową funkcją sklejaną

0x01 graphic
(6.132)

przedstawioną za pomocą sklejanych (4.115)

(6.133)

dostajemy układ równań liniowych z trójkątną macierzą współczynników, którego rozwiązanie jest następujące:

0x01 graphic
(6.134)

gdzie

0x01 graphic
(6.135)

{Program 6.8}

unit Obliczenia;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls, Buttons;

. . . . . . . . . . . . . . . . .

var

Form3: TForm3;

a,b,fin,h,lam,pom,sum,x: Real;

fi: array[0..100] of Real;

i,j,n,war: Integer;

plik: Text;

implementation

uses Ustawienia, Informacje, Grafika, Podglad;

{$R *.DFM}

function K(x,t: Real): Real;

begin

if Form3.RadioButton3.Checked then K:=Exp(x-t);

if Form3.RadioButton4.Checked then

K:=1-(x-t)*Exp(2*x);

end;

function f(x: Real): Real;

begin

if Form3.RadioButton3.Checked then f:=Exp(x);

if Form3.RadioButton4.Checked then

f:=(1-x*Exp(2*x))*cos(1)-Exp(2*x)*Sin(1);

end;

function fid(x: Real): Real;

begin

if Form3.RadioButton3.Checked then fid:=Exp(2*x);

if Form3.RadioButton4.Checked then

fid:=Exp(x)*(Cos(Exp(x))-Exp(x)*Sin(Exp(x)));

end;

{function B_j(j: Integer; x,a,h: Real): Real;}

{function CalGa(i,j: Integer; a,h,x: Real): Real;}

. . . . . . . . . . . . . . . . . . . . . . . .

procedure TForm3.BitBtn1Click(Sender: TObject);

label omin1,omin2;

begin

Form2.Show;

AssignFile(plik,Edit4.Text);

Rewrite(plik); Writeln(plik,'PROGRAM 6.8.');

Writeln(plik,'Równanie całkowe Volterry drugiego rodzaju.');

a:=StrToFloat(Edit1.Text); b:=StrToFloat(Edit2.Text);

n:=StrToInt(Edit3.Text); lam:=StrToFloat(Edit5.Text);

if RadioButton1.Checked then war:=1;

if RadioButton2.Checked then war:=2;

if war=1 then

Writeln(plik,'Całkowanie metodą trapezów.');

if war=2 then

Writeln(plik,'Metoda kollokacji liniowymi funkcjami sklejanymi.');

Writeln(plik);

Writeln(plik,'Liczba podprzedziałów: n = ',n:3);

Writeln(plik,'Początek przedziału: a = ',a:13);

Writeln(plik,'Koniec przedziału: b = ',b:13);

Writeln(plik,'Parametr równania: lambda = ',lam:13);

Writeln(plik); Writeln(plik,'Obliczone wartości funkcji:');

Writeln(plik,' i x[i] fi[i] błąd');

Writeln(plik,0:3,' ',a:13,' ',fid(a):18,' ',fid(a)-f(a):13);

h:=(b-a)/n; fi[0]:=f(a);

if war=2 then goto omin1;

for i:=1 to n do begin

x:=a+i*h;

sum:=0.5*K(x,a)*fi[0];

for j:=1 to i-1 do

sum:=sum+K(x,a+j*h)*fi[j];

pom:=1-0.5*lam*K(x,x)*h;

fin:=(f(x)+lam*sum*h)/pom; fi[i]:=fin;

Writeln(plik,i:3,' ',x:13,' ',fin:18,' ',fin-fid(x):13);

end;

if war=1 then goto omin2;

omin1:

for i:=1 to n do begin

x:=a+i*h; sum:=0;

for j:=0 to i-1 do

sum:=sum+CalGa(i,j,a,h,x)*fi[j];

pom:=1-lam*CalGa(i,i,a,h,x);

fin:=(f(x)+lam*sum)/pom; fi[i]:=fin;

Writeln(plik,i:3,' ',x:13,' ',fin:18,' ',fin-fid(x):13);

end;

omin2:

Writeln(plik); CloseFile(plik);

Form2.Wyniki.Lines.LoadFromFile(Edit4.Text);

end;

. . . . . . . . . . . . . . . . . . . . . . .

procedure TForm3.BitBtn3Click(Sender: TObject);

begin

Close;

end;

end.

Zadaniem programu 6.8 jest rozwiązywanie równania całkowego Volterry drugiego rodzaju (6.111) metodą przybliżania całek złożonymi kwadraturami trapezów (6.131) lub też metodą kollokacji funkcjami sklejanymi pierwszego stopnia (6.132) ÷ (6.135). Występująca w programie procedura funkcyjna CalGa(i,j,a,h,x), jest przeznaczona do obliczania całek (6.135) przy wykorzystaniu kwadratury Gaussa-Legendre'a z trzema węzłami (5.50).

Za pomocą programu 6.8 wykonano najpierw obliczenia testowe dla równania całkowego

0x01 graphic
(6.136)

przyjmując n = 25 - mającego rozwiązanie dokładne

0x01 graphic
(6.137)

Wyniki obliczeń są następujące:

PROGRAM 6.8.

Równanie całkowe Volterry drugiego rodzaju.

Całkowanie metodą trapezów.

Liczba podprzedziałów: n = 25

Początek przedziału: a = 0.0000E+0000

Koniec przedziału: b = 2.5000E+0000

Parametr równania: lambda = 1.0000E+0000

Obliczone wartości funkcji:

i x[i] fi[i] błąd

0 0.0000E+0000 1.000000000E+0000 0.0000E+0000

1 1.0000E-0001 1.221504699E+0000 1.0194E-0004

2 2.0000E-0001 1.492073729E+0000 2.4903E-0004

3 3.0000E-0001 1.822575072E+0000 4.5627E-0004

4 4.0000E-0001 2.226284014E+0000 7.4309E-0004

5 5.0000E-0001 2.719416385E+0000 1.1345E-0003

6 6.0000E-0001 3.321779892E+0000 1.6630E-0003

7 7.0000E-0001 4.057569747E+0000 2.3698E-0003

8 8.0000E-0001 4.956340512E+0000 3.3081E-0003

9 9.0000E-0001 6.054193225E+0000 4.5458E-0003

10 1.0000E+0000 7.395225473E+0000 6.1694E-0003

11 1.1000E+0000 9.033302664E+0000 8.2892E-0003

12 1.2000E+0000 1.103422165E+0001 1.1045E-0002

13 1.3000E+0000 1.347835359E+0001 1.4615E-0002

14 1.4000E+0000 1.646387225E+0001 1.9225E-0002

15 1.5000E+0000 2.011069732E+0001 2.5160E-0002

16 1.6000E+0000 2.456531127E+0001 3.2781E-0002

17 1.7000E+0000 3.000664315E+0001 4.2543E-0002

18 1.8000E+0000 3.665325561E+0001 5.5021E-0002

19 1.9000E+0000 4.477212395E+0001 7.0939E-0002

20 2.0000E+0000 5.468935979E+0001 9.1210E-0002

21 2.1000E+0000 6.680330997E+0001 1.1697E-0001

22 2.2000E+0000 8.160055703E+0001 1.4969E-0001

23 2.3000E+0000 9.967546384E+0001 1.9115E-0001

24 2.4000E+0000 1.217540474E+0002 2.4363E-0001

25 2.5000E+0000 1.487231411E+0002 3.0998E-0001

PROGRAM 6.8.

Równanie całkowe Volterry drugiego rodzaju.

Metoda kollokacji liniowymi funkcjami sklejanymi.

. . . . . . . . . . . . . . . . . . . . . . . .

Obliczone wartości funkcji:

i x[i] fi[i] błąd

0 0.0000E+0000 1.000000000E+0000 0.0000E+0000

1 1.0000E-0001 1.221811529E+0000 4.0877E-0004

2 2.0000E-0001 1.492823411E+0000 9.9871E-0004

3 3.0000E-0001 1.823948854E+0000 1.8301E-0003

4 4.0000E-0001 2.228521738E+0000 2.9808E-0003

5 5.0000E-0001 2.722833551E+0000 4.5517E-0003

6 6.0000E-0001 3.326789422E+0000 6.6725E-0003

7 7.0000E-0001 4.064709670E+0000 9.5097E-0003

8 8.0000E-0001 4.966309135E+0000 1.3276E-0002

9 9.0000E-0001 6.067893755E+0000 1.8246E-0002

10 1.0000E+0000 7.413822544E+0000 2.4766E-0002

11 1.1000E+0000 9.058293855E+0000 3.3280E-0002

12 1.2000E+0000 1.106752786E+0001 4.4351E-0002

13 1.3000E+0000 1.352243313E+0001 5.8695E-0002

14 1.4000E+0000 1.652186470E+0001 7.7218E-0002

15 1.5000E+0000 2.018660476E+0001 1.0106E-0001

16 1.6000E+0000 2.466422642E+0001 1.3170E-0001

17 1.7000E+0000 3.013503618E+0001 1.7094E-0001

18 1.8000E+0000 3.681933462E+0001 2.2110E-0001

19 1.9000E+0000 4.498628752E+0001 2.8510E-0001

20 2.0000E+0000 5.496476472E+0001 3.6661E-0001

21 2.1000E+0000 6.715658320E+0001 4.7025E-0001

22 2.2000E+0000 8.205268757E+0001 6.0182E-0001

23 2.3000E+0000 1.002529196E+0002 7.6860E-0001

24 2.4000E+0000 1.224901729E+0002 9.7976E-0001

25 2.5000E+0000 1.496599055E+0002 1.2467E+0000

Porównując zamieszczone wyniki obliczeń możemy stwierdzić, że dla równania (6.136) metoda zastępowania całek złożonymi kwadraturami trapezów okazała się trochę dokładniejsza od metody kollokacji liniowymi funkcjami sklejanymi. W przy-padku natomiast równania całkowego (6.111) określonego funkcjami:

0x01 graphic

którego rozwiązanie jest następujące

0x01 graphic

nieco bardziej stabilna okazała się metoda kollokacji funkcjami sklejanymi pierwszego stopnia, co można zaobserwować na poniższych tabulogramach wyników.

PROGRAM 6.8.

Równanie całkowe Volterry drugiego rodzaju.

Całkowanie metodą trapezów.

Liczba podprzedziałów: n = 100

Początek przedziału: a = 0.0000E+0000

Koniec przedziału: b = 2.5000E+0000

Parametr równania: lambda = 1.0000E+0000

Obliczone wartości funkcji:

i x[i] fi[i] błąd

0 0.0000E+0000 -3.011686789E-0001 0.0000E+0000

1 2.5000E-0002 -3.667621182E-0001 -1.7629E-0005

2 5.0000E-0002 -4.374638735E-0001 -3.7278E-0005

3 7.5000E-0002 -5.135392792E-0001 -5.9105E-0005

4 1.0000E-0001 -5.952551110E-0001 -8.3275E-0005

5 1.2500E-0001 -6.828774235E-0001 -1.0996E-0004

6 1.5000E-0001 -7.766689828E-0001 -1.3934E-0004

7 1.7500E-0001 -8.768862411E-0001 -1.7158E-0004

8 2.0000E-0001 -9.837758006E-0001 -2.0689E-0004

9 2.2500E-0001 -1.097570303E+0000 -2.4544E-0004

10 2.5000E-0001 -1.218483682E+0000 -2.8740E-0004

. . . . . . . . . . . . . . . . . . . . . . . . . . .

80 2.0000E+0000 -4.572386697E+0001 -2.3397E-0001

81 2.0250E+0000 -5.334990424E+0001 -2.3231E-0001

82 2.0500E+0000 -5.966443310E+0001 -2.1540E-0001

83 2.0750E+0000 -6.410498691E+0001 -1.7951E-0001

84 2.1000E+0000 -6.609228457E+0001 -1.2114E-0001

85 2.1250E+0000 -6.506652701E+0001 -3.7530E-0002

86 2.1500E+0000 -6.053384406E+0001 7.2831E-0002

87 2.1750E+0000 -5.212226124E+0001 2.0942E-0001

88 2.2000E+0000 -3.964527389E+0001 3.6893E-0001

89 2.2250E+0000 -2.316947926E+0001 5.4443E-0001

90 2.2500E+0000 -3.080767817E+0000 7.2463E-0001

91 2.2750E+0000 1.985857074E+0001 8.9331E-0001

92 2.3000E+0000 4.447160435E+0001 1.0293E+0000

93 2.3250E+0000 6.915895239E+0001 1.1068E+0000

94 2.3500E+0000 9.193400051E+0001 1.0973E+0000

95 2.3750E+0000 1.105133749E+0002 9.7160E-0001

96 2.4000E+0000 1.224725601E+0002 7.0420E-0001

97 2.4250E+0000 1.254715169E+0002 2.7857E-0001

98 2.4500E+0000 1.175469105E+0002 -3.0634E-0001

99 2.4750E+0000 9.745585550E+0001 -1.0289E+0000

100 2.5000E+0000 6.504122242E+0001 -1.8380E+0000

PROGRAM 6.8.

Równanie całkowe Volterry drugiego rodzaju.

Metoda kollokacji liniowymi funkcjami sklejanymi.

. . . . . . . . . . . . . . . . . . . . . . . .

Obliczone wartości funkcji:

i x[i] fi[i] błąd

0 0.0000E+0000 -3.011686789E-0001 0.0000E+0000

1 2.5000E-0002 -3.667548451E-0001 -1.0356E-0005

2 5.0000E-0002 -4.374478072E-0001 -2.1212E-0005

3 7.5000E-0002 -5.135126867E-0001 -3.2513E-0005

4 1.0000E-0001 -5.952160241E-0001 -4.4188E-0005

5 1.2500E-0001 -6.828236142E-0001 -5.6150E-0005

6 1.5000E-0001 -7.765979373E-0001 -6.8290E-0005

7 1.7500E-0001 -8.767951334E-0001 -8.0477E-0005

8 2.0000E-0001 -9.836614636E-0001 -9.2552E-0005

9 2.2500E-0001 -1.097429200E+0000 -1.0433E-0004

10 2.5000E-0001 -1.218311879E+0000 -1.1560E-0004

. . . . . . . . . . . . . . . . . . . . . . . . . . .

80 2.0000E+0000 -4.525933088E+0001 2.3057E-0001

81 2.0250E+0000 -5.286755187E+0001 2.5004E-0001

82 2.0500E+0000 -5.919092964E+0001 2.5810E-0001

83 2.0750E+0000 -6.367518643E+0001 2.5029E-0001

84 2.1000E+0000 -6.574919782E+0001 2.2194E-0001

85 2.1250E+0000 -6.486044196E+0001 1.6856E-0001

86 2.1500E+0000 -6.052030869E+0001 8.6367E-0002

87 2.1750E+0000 -5.235863895E+0001 -2.6956E-0002

88 2.2000E+0000 -4.018562559E+0001 -1.7142E-0001

89 2.2250E+0000 -2.405763093E+0001 -3.4372E-0001

90 2.2500E+0000 -4.341607116E+0000 -5.3621E-0001

91 2.2750E+0000 1.822924358E+0001 -7.3602E-0001

92 2.3000E+0000 4.251795803E+0001 -9.2437E-0001

93 2.3250E+0000 6.697553647E+0001 -1.0766E+0000

94 2.3500E+0000 8.967392441E+0001 -1.1628E+0000

95 2.3750E+0000 1.083919208E+0002 -1.1499E+0000

96 2.4000E+0000 1.207634232E+0002 -1.0049E+0000

97 2.4250E+0000 1.244926474E+0002 -7.0030E-0001

98 2.4500E+0000 1.176331756E+0002 -2.2007E-0001

99 2.4750E+0000 9.891668132E+0001 4.3194E-0001

100 2.5000E+0000 6.810326567E+0001 1.2240E+0000

6.3.3. Równania całkowe Fredholma drugiego rodzaju

Zastosowanie do równania całkowego Fredholma drugiego rodzaju (6.113) rozważanych w rozdziale poprzednim metod przybliżania całek złożonymi kwadraturami trapezów i kollokacji funkcjami sklejanymi pierwszego stopnia wymaga rozwiązania układu równań liniowych z pełną macierzą współczynników

(6.138)

W przypadku metody przybliżania całek złożonymi kwadraturami trapezów współczynniki układu równań (6.138) są określone wzorami:

(6.139a)

gdzie

(6.139b)

Natomiast zastosowanie metody kollokacji liniowymi funkcjami prowadzi do układu równań liniowych (6.138) ze współczynnikami postaci:

(6.140a)

gdzie

0x01 graphic
(6.140b)

{Program 6.9}

unit Obliczenia;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls, Buttons;

type

Tabl = array[0..36,0..37] of Real;

. . . . . . . . . . . . . . . . . .

var

Form3: TForm3;

i,j,n,war: Integer;

a,b,det,fin,h,lam,t,x: Real;

plik: Text;

mac: Tabl;

implementation

uses Ustawienia, Informacje, Grafika, Podglad;

{$R *.DFM}

function K(x,t: Real): Real;

begin

if Form3.RadioButton3.Checked then

K:=Exp(x-t);

if Form3.RadioButton4.Checked then

K:=Sqrt(t)-x;

end;

function f(x: Real): Real;

begin

if Form3.RadioButton3.Checked then

f:=x;

if Form3.RadioButton4.Checked then

f:=5*x/3+Sqrt(x)-1/6;

end;

function fid(x: Real): Real;

begin

if Form3.RadioButton3.Checked then

fid:=x+Exp(x);

if Form3.RadioButton4.Checked then

fid:=1+Sqrt(x);

end;

{function B_j(j: Integer; x,a,h: Real): Real;}

{function CalGa(i,j: Integer; a,h,x: Real): Real;}

{procedure ElimGaussa(n,m: Integer; var A: Tabl; var det: Real);}

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

procedure TForm3.BitBtn1Click(Sender: TObject);

label omin1,omin2;

begin

Form2.Show;

AssignFile(plik,Edit4.Text);

Rewrite(plik); Writeln(plik,'PROGRAM 6.9.');

Writeln(plik,'Równanie całkowe Fredholma drugiego rodzaju.');

a:=StrToFloat(Edit1.Text); b:=StrToFloat(Edit2.Text);

n:=StrToInt(Edit3.Text); lam:=StrToFloat(Edit5.Text);

if RadioButton1.Checked then war:=1;

if RadioButton2.Checked then war:=2;

if war=1 then

Writeln(plik,'Całkowanie metodą trapezów.');

if war=2 then

Writeln(plik,'Metoda kollokacji liniowymi funkcjami sklejanymi.');

Writeln(plik);

Writeln(plik,'Liczba podprzedziałów: n = ',n:3);

Writeln(plik,'Początek przedziału: a = ',a:13);

Writeln(plik,'Koniec przedziału: b = ',b:13);

Writeln(plik,'Parametr równania: lambda = ',lam:13);

Writeln(plik); Writeln(plik,'Obliczone wartości funkcji:');

Writeln(plik,' i x[i] fi[i] błąd');

h:=(b-a)/n;

if war=2 then goto omin1;

for i:=0 to n do begin

x:=a+i*h;

for j:=0 to n do begin

t:=a+j*h;

mac[i,j]:=-lam*h*K(x,t);

if (j=0) or (j=n) then

mac[i,j]:=mac[i,j]/2;

if i=j then

mac[i,j]:=mac[i,j]+1;

end;

mac[i,n+1]:=f(x);

end;

if war=1 then goto omin2;

omin1:

for i:=0 to n do begin

x:=a+i*h;

for j:=0 to n do begin

mac[i,j]:=-lam*CalGa(n,j,a,h,x);

if i=j then

mac[i,j]:=mac[i,j]+1;

end;

mac[i,n+1]:=f(x);

end;

omin2:

ElimGaussa(n,1,mac,det);

for i:=0 to n do begin

x:=a+i*h; fin:=mac[i,n+1];

Writeln(plik,i:3,' ',x:13,' ',fin:18,' ',fin-fid(x):13);

end;

Writeln(plik); CloseFile(plik);

Form2.Wyniki.Lines.LoadFromFile(Edit4.Text);

end;

. . . . . . . . . . . . . . . . . . . . . . .

procedure TForm3.BitBtn3Click(Sender: TObject);

begin

Close;

end;

end.

Program 6.9 jest zmodyfikowanym programem 6.8, w którym do rozwiązywania układu równań liniowych (6.138) wykorzystano metodę eliminacji Gaussa. Za pomocą programu 6.9 rozwiązano dwa równania Fredholma drugiego rodzaju:

równanie I

0x01 graphic
0x08 graphic
(6.141)

równanie II

0x01 graphic
(6.142)0x08 graphic

Uzyskane wyniki obliczeń zawierają cztery kolejne tabulogramy komputerowe. Błędy obliczeń przy zastosowaniu obu rozważanych metod są tego samego rzędu, przy czym algorytm metody pierwszej daje rozwiązania równań całkowych (6.141) oraz (6.142) z niedomiarem, algorytm metody drugiej - z nadmiarem.

PROGRAM 6.9.

Równanie całkowe Fredholma drugiego rodzaju.

Całkowanie metodą trapezów.

Liczba podprzedziałów: n = 10

Początek przedziału: a = 0.0000E+0000

Koniec przedziału: b = 1.0000E+0000

Parametr równania: lambda = 7.9099E-0001

Obliczone wartości funkcji:

i x[i] fi[i] błąd

0 0.0000E+0000 9.968477851E-0001 -3.1522E-0003

1 1.0000E-0001 1.201687182E+0000 -3.4837E-0003

2 2.0000E-0001 1.417552634E+0000 -3.8501E-0003

3 3.0000E-0001 1.645603763E+0000 -4.2550E-0003

4 4.0000E-0001 1.887122146E+0000 -4.7026E-0003

5 5.0000E-0001 2.143524147E+0000 -5.1971E-0003

6 6.0000E-0001 2.416375090E+0000 -5.7437E-0003

7 7.0000E-0001 2.707404926E+0000 -6.3478E-0003

8 8.0000E-0001 3.018525545E+0000 -7.0154E-0003

9 9.0000E-0001 3.351849914E+0000 -7.7532E-0003

10 1.0000E+0000 3.709713220E+0000 -8.5686E-0003

PROGRAM 6.9.

Równanie całkowe Fredholma drugiego rodzaju.

Metoda kollokacji liniowymi funkcjami sklejanymi.

. . . . . . . . . . . . . . . . . . . . . . . .

Obliczone wartości funkcji:

i x[i] fi[i] błąd

0 0.0000E+0000 1.003165004E+0000 3.1650E-0003

1 1.0000E-0001 1.208668789E+0000 3.4979E-0003

2 2.0000E-0001 1.425268503E+0000 3.8657E-0003

3 3.0000E-0001 1.654131116E+0000 4.2723E-0003

4 4.0000E-0001 1.896546329E+0000 4.7216E-0003

5 5.0000E-0001 2.153939480E+0000 5.2182E-0003

6 6.0000E-0001 2.427885814E+0000 5.7670E-0003

7 7.0000E-0001 2.720126243E+0000 6.3735E-0003

8 8.0000E-0001 3.032584775E+0000 7.0438E-0003

9 9.0000E-0001 3.367387765E+0000 7.7847E-0003

10 1.0000E+0000 3.726885201E+0000 8.6034E-0003

PROGRAM 6.9.

Równanie całkowe Fredholma drugiego rodzaju.

Całkowanie metodą trapezów.

Liczba podprzedziałów: n = 10

Początek przedziału: a = 0.0000E+0000

Koniec przedziału: b = 1.0000E+0000

Parametr równania: lambda = 1.0000E+0000

Obliczone wartości funkcji:

i x[i] fi[i] błąd

0 0.0000E+0000 9.925683038E-0001 -7.4317E-0003

1 1.0000E-0001 1.309702005E+0000 -6.5258E-0003

2 2.0000E-0001 1.441593769E+0000 -5.6198E-0003

3 3.0000E-0001 1.543008666E+0000 -4.7139E-0003

4 4.0000E-0001 1.628647575E+0000 -3.8080E-0003

5 5.0000E-0001 1.704204759E+0000 -2.9020E-0003

6 6.0000E-0001 1.772600582E+0000 -1.9961E-0003

7 7.0000E-0001 1.835569874E+0000 -1.0901E-0003

8 8.0000E-0001 1.894242973E+0000 -1.8422E-0004

9 9.0000E-0001 1.949405015E+0000 7.2172E-0004

10 1.0000E+0000 2.001627651E+0000 1.6277E-0003

PROGRAM 6.9.

Równanie całkowe Fredholma drugiego rodzaju.

Metoda kollokacji liniowymi funkcjami sklejanymi.

. . . . . . . . . . . . . . . . . . . . . . . .

Obliczone wartości funkcji:

i x[i] fi[i] błąd

0 0.0000E+0000 1.000401154E+0000 4.0115E-0004

1 1.0000E-0001 1.317012664E+0000 7.8490E-0004

2 2.0000E-0001 1.448382239E+0000 1.1686E-0003

3 3.0000E-0001 1.549274945E+0000 1.5523E-0003

4 4.0000E-0001 1.634391665E+0000 1.9361E-0003

5 5.0000E-0001 1.709426659E+0000 2.3199E-0003

6 6.0000E-0001 1.777300291E+0000 2.7036E-0003

7 7.0000E-0001 1.839747393E+0000 3.0874E-0003

8 8.0000E-0001 1.897898303E+0000 3.4711E-0003

9 9.0000E-0001 1.952538155E+0000 3.8549E-0003

10 1.0000E+0000 2.004238601E+0000 4.2386E-0003

418 6. Równania różniczkowe zwyczajne i całkowe

6.3. Równania całkowe 417



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
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
1 e, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy numerycz

więcej podobnych podstron