2.Függvények közelítése és kiértékelése

2.1. Polinomok kiértékelése

2.2. Transzcendens függvények közelítése és kiértékelése

2.3. Függvények legkisebb négyzetes közelítése

2.4. Nevezetes ortonormált függvény-rendszerek

2.5. Implicit függvények kiértékelése

 

2.1. Polinomok kiértékelése

A polinomok

            p(x) = a0 xn+ a1 xn-1+ … an-1 x + an                           (2.1)

alkotják a függvények legegyszerűbb osztályát, és a következő formula alapján könnyen kiértékelődhetők.

 

Horner-féle elrendezés

Horner W. (1786-1837) - angol matematikus.

Átalakítjuk a (2.1) képletet

p(x) = (a0 xn-1+ a1 xn-2+ … an-1) x + an =

            = ((a0 xn-2+ a1 xn-3+ … an-2) x + an-1)x + an= … =

            = (… (a0 x+ a1) x+ … an-2) x + an-1)x + an                                       (2.2)

Akkor a (2.2) alapján a p(x) kiértékelése a következő algoritmus szerint történik:

s=a0

s=s·x+a1

s=s·x+a2

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

s=s·x+an                                                        (2.3)

ami egy ciklusban könnyen kiszámítható:

s=a0

s=s·x+ak,                           k=1, 2, …, n                                                                (2.4)

A (2.4) algoritmusnak az előnye, hogy a polinom kiértékelésére csak n szorzás szükséges.

 

Példa 2.1

Számítsuk ki a

p(x) =x7 – 2x6+ x5 – 3x4+4x3 – x2+6x – 1

értékét a –1.5 pontban.

                                   p(–1.5)= –88.3985

 

2.2. Transzcendens függvények közelítése és kiértékelése

Mint ismeretes, a matematikai műveletek közül a számítógépek csak a négy alapvető aritmetikai műveletet képesek végrehajtani. Ezért a transzcendens függvényeket csak numerikus módszerekkel lehet kiértékelni. Ezek a módszerek azon az elven alapszanak, hogy a f(x) transzcendens függvényt egy olyan p(x) függvénnyel (leggyakrabban polinommal)

f(x)≈ p(x)                                                                   (2.5)

közelítjük, melynek a kiértékelése nem okoz problémát. A közelítések gyakran a deriváltok alkalmazásával történnek, mivel azok fontos információt tartalmaznak a függvényről. Mivel

MATH                                                       (2.6)

vagy

                       MATH

MATH

akkor

f(x+h)≈ f(x) +h f′(x)

vagy egy másik alakban:

f(x)≈ f(x0) + f′( x0)(x – x0)                    (2.7)

Ha a f(x0) és f′(x0) értékeit könnyen tudjuk kiszámítani, akkor a (2.7) alapján kiszámíthatjuk a f(x) függvényt értékét.

Például, legyen f(x)=xa, x0=1. Akkor f(1)=1,

            f′(x) =axa-1,                f′(x) =a.   

Ha x=1+Δ, akkor (1+Δ)a≈1+a Δ

 

Példa 2.2

MATH

 

Taylor-sor alkalmazása

Ha a függvény magasabb rendű deriváltjai is léteznek, akkor szerkeszthetünk Taylor-sort

MATH             (2.8)

a Taylor-formulát maradéktaggal így írhatjuk le:

MATH                        (2.9)

ahol

MATH                                                                          (2.10)

0< ζ(x,n)<1

a Lagrange-féle maradéktag.

Mivel a Taylor-sor összegzésének az eredménye nem mindig egyenlő a f(x) függvény értékével, minden konkrét esetben ellenőrizni kell azt, hogy

MATH                                                                                   (2.11)

Maclaurin-formula

A Taylor-formulából x0=0 esetén Maclaurin-formulát kapunk:

MATH                                                                      (2.12)

MATH                                                                                  (2.13)

 

f(x)≈p(x)

                                                                                              (2.14)

A (2.12)-(2.14) képletek alapján több elemi transzcendens függvényt lehet közelíteni. A közelítés hiba-becslését a

MATH                                                               (2.15)

formula alapján lehet megadni.

 

Néhány konkrét függvény elemzése.

a). Exponenciális függvény 

y=ex

MATH                                              (2.16)

MATH                                                                 (2.17)

MATH                                                                       (2.18)

u0=1,                           S0=1,               Sk=Sk-1+uk                                                      (2.19)

Ha   0<2|x|≤n, és                    |x|≤n/2

akkor

|Rn(x)|< |un|                                                    (2.20)

Ezt az összegzést addig folytatjuk, amíg nem teljesül a

|un|<ε                                                                         (2.21)

feltétel.

Az összegzés iterációs algoritmussal történik, mely a (2.18),(2.19) és (2.21) képleteken alapszik.

A |x|értékének növekedésével a Maclaurin-formula maradéktagja is növekszik, és ezért nagy |x|esetén ezt az algoritmust nem ajánlatos alkalmazni. Ha lehetőség van, akkor a függvények tulajdonsága alapján csökkenthetjük az |x|értékét.

Például, a ex függvény esetén ez könnyen megoldható a következő felbontással:

                                   x=E(x)+q,                   0≤q<1                         (2.22)

                                   ex= eE(x)· eq                                                   (2.23)

Mivel 0≤q<1, akkor a Maclaurin-sor gyorsan konvergál, és a hibabecslés értéke:

0≤Rn(q)<qn+1/(n!·n)                                                              (2.24)

 

Példa 2.3

Számítsuk ki a $\ \sqrt{e}$értékét 10-5 pontossággal.

$\sqrt{e}$= MATH

u0=1,   uk= uk-1/(2k),      k=1, 2, …, n

k

uk

0

1

1

0,5

2

0,125

3

0,0208333

4

0,0026042

5

0,0002604

6

0,0000217

7

0,0000016

S=

1,6487212

Az eredmény: $\sqrt{e}$=1,64872

 

b). Trigonometrikus függvények

y=sinx

MATH                                                              (2.25)

MATH                                                                                                    (2.26)

 

 u1=x,    uk+1= –x2 uk/(2k·(2k+1))

                                                                       (2.27)

k=1, 2, …, n-1

s=x1,               s=s+uk                                    (2.28)

| un|<ε

                                   (2.29)

|Rn(x)|≤ |x|2n+1/(2n+1)! =|un+1|                                                                      (2.30)

Ebben az esetben az iterációs algoritmust a (2.27)-(2.29) képletek alapján szerkesztjük.

                        y=cosx

MATH                                                      (2.31)

MATH                                                                                                (2.32)

u1=1,    uk+1= –x2 uk/((2k-1)·2k)                                                        (2.33)

k=1, 2, …, n-1

Mivel a sinx $\ $és a cosx függvények periodikusak, ezért ezeket a képleteket elegendő csak a MATHintervallumon alkalmazni. Az elérhető pontosság szempontjából ez a lehetőség lényeges, mivel a x növekedésével gyorsan növekszik a hiba-becslés értéke is.

 

Példa 2.4

Számítsuk ki a sin 23º 54′ értékét, ε=10-4

x=0.41714  radián.

u1=x=0.41714

u2=–x2u1/(2·3)= –0.01210

u3=x2u2/(4·5)= 0.00011

u4=–x2u3/(6·7)= –0.0000

sin 23º 54′=0,40515

 

c). Hiperbolikus függvények

Hiperbolikus szinusz

y=shx=(ex- e-x)/2;                               y=chx=(ex+ e-x)/2;                    (2.34)

 

MATH                                                          (2.35)

MATH                                                                                             (2.36)

MATH                                           (2.37)

ha n≥|x|, akkor

Rn< |un|/3                                                                   (2.38)

 

Hiperbolikus koszinusz

MATH                                                              (2.39)

MATH                                                                                  (2.40)

MATH                             (2.41)

ha  n≥|x,|, akkor

 Rn<2 |un|/3                                                                                       (2.42)

 

d) Logaritmikus függvény

Levezetjük a

y=log x

 

függvény Teylor-sorát.

Mivel

MATH                                           (2.43)

és

MATH                                                              (2.44)

akkor

MATH

MATH                                                            (2.45)

MATH                                                                (2.46)

A Taylor-sor a x=1 és x= –1 pontokban:

MATH                                                     (2.47)

MATH                                                                   (2.48)

konvergens, ha |x|≤1

A Maple alkalmazásával elemezzük a Taylor-sort a sin(x) függvény esetén.

> taylor(sin(x), x, 6);

> s:= taylor(sin(x), x, 8);

Átalakítjuk az eredményt polinommá:

> p:=convert(s, polynom);

MATH

vagy

> convert(p, float);

                        x – .1666666667 x3 + .008333333333 x5 +.0001984126984 x7

Kiértékeljük a polinomot a x=2  pontban:

> x :=2;

 x :=2

>evalf(p, x);

           .91

Ellenőrizzük az eredményt:

> sin(2.);

 .909297268

> x :=4;

x :=4

>evalf(p, x);

                        – 1.384

Ez már egyáltalán nem jó!  Ellenőrizzük az eredményt:

> sin(4.);

 –.7568025953

> x :=10;

x :=10

>evalf(p, x);

–1307,460317

> x :=25;

x :=25

>evalf(p, x);

–1132213963293650793650794·107

Ez az eredmény fantasztikusan rossz!!!

Szerkesztünk grafikonokat:

> x:=’x’;

                                                           x:=x

> plot([p(x), sin(x)], x=0...2*Pi );

 

fugg_12__156.png

Mint láthatjuk, ha x>π, akkor növekszik az eltérés.

 

A hiba grafikonja:

> plot((p(x),– sin(x)), x=0...25 );

 

fugg_12__159.png

> plot(abs(p(x),– sin(x)), x=0...25 );


fugg_12__161.png


Ezekből a példákból megállapítható, hogy amikor  x távolodik a 0 ponttól ( Maclaurin-sor esetén), akkor lényegesen növekszik az abszolút hiba. Ez a tény sok esetben korlátozza a Taylor-formula alkalmazását.

Sokkal jobb eredményeket lehet elérni, ha a függvények ortogonális polinomokkal közelítjük.