You are on page 1of 21

VÁRTERÉSZ MAGDA

Matematikai programozás
gyakorlatok

2003/04-es tanév 1. félév


Tartalomjegyzék

1. Számrendszerek 3
1.1. Javasolt órai feladat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Javasolt házi feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2. Számábrázolás számítógépen 4
2.1. Javasolt órai feladat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Javasolt házi feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3. Számolás egész számokkal 6


3.1. Javasolt órai feladat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2. Javasolt házi feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4. Számolás valós számokkal 8


4.1. Javasolt órai feladat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2. Javasolt házi feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

5. Elemi függvények, függvénytranszformáció 10


5.1. Javasolt órai feladat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.2. Javasolt házi feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

6. Empirikus képletek el®állítása 12


6.1. Javasolt órai feladat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.2. Javasolt házi feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

7. Interpolációs polinomok 14
7.1. Javasolt órai feladat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.2. Javasolt házi feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

8. Numerikus dierenciálás és integrálás 16


8.1. Javasolt órai feladat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
8.2. Javasolt házi feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

9. Nemlineáris egyenletek megoldása 17


9.1. Javasolt órai feladat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
9.2. Javasolt házi feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2
Tartalomjegyzék 3

10.Polinomegyenletek megoldása 18
10.1. Javasolt órai feladat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
10.2. Javasolt házi feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Irodalomjegyzék 20
1. fejezet

Számrendszerek

1.1. Javasolt órai feladat


• Szczepan Jelenski Pitagorasz nyomában cím¶ könyvében szerepel az alábbi feladat:
Az egyetemet 44 éves koromban fejeztem be, egy év múlva, már mint 100 éves ifjú,
feleségül vettem egy 34 éves kisasszonyt. A jelentéktelen korkülönbség - mindössze
11 év - nagyon kedvezett harmonikus házaséletünknek. Aránylag rövid id®n belül
már 10 gyermekünk volt. Az én havi keresetem 13000 zloty volt. melyb®l 1/10 részt
a húgomnak adtam, úgyhogy saját magunk eltartására csak 11200 zloty maradt
havonta, mégis boldogan éltünk.
Hogyan lehetne megfejteni ezt az életrajzot? Mit jelenthetnek ezek a furcsa adatok?

• Az r és az R = rk alapú számrendszerek között akarunk számokat átváltani. Ekkor

v = an rn + an−1 rn−1 + · · · + a1 r + a0 + a−1 r−1 + a−2 r−2 + · · · =


bm Rm + bm−1 Rm−1 + · · · + b1 R + b0 + b−1 rR−1 + b−2 R−2 + · · · ,

ahol bi = aik+k−1 rk−1 +aik+k−2 rk−2 +· · ·+aik+1 r +aik , azaz az R alapú számrendszer
mindegyik számjegye az r alapú számrendszer számjegyeinek k tagú csoportjára
konvertálható és viszont.

 kettes  nyolcas alapú számrendszerek között: triádolás


 kettes  tizenhatos alapú számrendszerek között: tetrádolás

1.2. Javasolt házi feladatok


1. Írjuk fel a tízes számrendszerben azokat a számokat, amelyek a tizenegyes szám-
rendszerben (a0b)11 , a kilences számrendszerben pedig (b0a)9 alakban írhatók fel.

2. Határozzuk meg, milyen alapú számrendszerben lehet az 0 ≤ v < V természetes


számokat a legkevesebb tároló elemmel ábrázolni, ha feltesszük hogy egy számjegy
tárolásához szükséges tároló elemek száma egyenl® a számrendszer alapszámával.

3. Tegyük fel, hogy két-állapotú tároló elemekkel ábrázolunk tizes számrendszerbeli


legfeljebb n számjegy¶ természetes számokat. Érhet®-e el megtakarítás és mekkora,
ha ugyanezeket a számokat kettes számrendszerbeli számokként tárolnánk.

4
2. fejezet

Számábrázolás számítógépen

2.1. Javasolt órai feladat


Tekintsük át, hogy a Turbo Pascal az egész és valós számok ábrázolásásra milyen beépített
típusokat használ. Az IDE1 nyomkövet®jének2 használatával (Break/Watch menü) vizsgál-
juk meg az ábrázolási módokat és az ábrázolási tartományokat ([5]).
A Watch ablakba: valtozo-nev, formatum-specikátor(ok)
formatum-specikátor

• dollárjel vagy H vagy X : hexadecimális kiírás

• C : karakteres

• D : decimális

• Fn : 2 ≤ n ≤ 18 számjegyek száma (default 11)

• M : memória dump

• P : pointer seg:ofs formában

• R : record mez®nevekkel

• S : sztring formában (a M specikátorral használjuk)

2.2. Javasolt házi feladatok


1. Bizonyítsuk be, hogy a kettes komplemens összeadásnál pontosan akkor esik két 
az ábrázolási tartományba es®  szám összege is az ábrázolási tartományba, ha a két
legmagasabb helyiértékr®l (n bites ábrázolás esetén a 2n−2 és a 2n−1 helyiértékekr®l)
azonos átvitel keletkezik.

2. Legyenek 0 ≤ x, y ≤ 2n − 1 egész számok. Deniáljuk közöttük a következ® m¶ve-


letet:

 x + y + 2n−1 ha x + y ≤ 2n−1 − 1,
x]y ­ x + y − 2n−1 ha 2n−1 ≤ x + y ≤ 2n + 2n−1 − 1,

x + y − 2n−1 − 2n ha 2n + 2n−1 ≤ x + y .
1 Integrated Development Enviroment
2 Debugger

5
6 2. Számábrázolás számítógépen

A ] m¶velet neve: többletes összeadás.


Bizonyítsuk be, hogy két többletes kódban ábrázolt szám többletes összege éppen
a két szám összegének többletes kódja, ha a két szám összege az ábrázolási tar-
tományba esik.
3. fejezet

Számolás egész számokkal

Amikor egy számítógép (xpontosan ábrázolt) számokkal számol (pl. összeadja ®ket),
könnyen el®fordulhat, hogy az eredmény már nem ábrázolható az el®írt módon a rendel-
kezésre álló területen. Ilyen esetben túlcsordulásról beszélünk. El®fordulhat az is, hogy
a számítás végeredménye ugyan ábrázolható lenne, azonban egy részeredmény túlcsor-
dulást okoz, és ez a végeredményt is elrontja. Ennek az a következménye, hogy egyszer¶
algebrai azonoságok, mint pl. (a + b) + c = a + (b + c) nem mindig teljesülnek, csak akkor,
ha nem lépett fel közben túlcsordulás. A túlcsordulást el kell kerülni.
1202-ben Leonardo Pisano itáliai matematikus, akit L. Fibonacci (Filius Bonaccio,
azaz Bonaccio a) néven ismernek, oldotta meg a következ® problémát:

Ha egy pár újszülött nyulat kapok az év elején, hány pár nyulam lesz az év végén.

Természetesen tett néhány egyszer¶sít® feltevést:


• minden feln®tt nyúlpárnak havonta egy hím és egy n®stény utóda születik,

• a vemhesség ideje egy hónap,


• az újszülöttek pontosan egy hónap alatt válnak ivaréretté, és

• egy nyúl sem pusztul el.


Tegyük fel, hogy az n-edik hónapban a nyúlpárok száma F (n), és ebb®l a feln®tt nyúl-
párok száma V (n). Tegyük fel továbbá, hogy az els® pár újszülött nyuszit az els® hónap
elején kaptuk, tehát a nyúlpárok száma az el®z® hónapban még 0 volt, azaz F (0) = 0 és
F (1) = 1. Mivel minden hónapban annyi feln®tt pár van, ahány nyúlpár az el®z® hónap-
ban összesen volt, ezért V (n) = F (n − 1). Másrészt a V (n) feln®tt nyúlpár mindegyike
egy pár nyulat alt az n + 1-edik hónap kezdetén, úgyhogy

F (n + 1) = F (n) + V (n) = F (n) + F (n − 1).

Ekkor a probléma formálisan a következ®képpen fogalmazható meg: mennyi lesz F (12)


értéke, ha tudjuk, hogy
F (0) = 0 F (1) = 1 és
minden n ≥ 1 esetén F (n + 1) = F (n) + F (n − 1).
Egyébként ezekkel az összefüggésekkel megadott Fibonacci-számok fontos szerepet
játszanak a legkülönfélébb természeti folyamatokban. Pl. a növénytanban a Fibonacci-
számok a phyllotaxisban, azaz a levélállások tanában jelennek meg: a levelek a nö-
vénytanban a Fibonacci-számok szerinti elrendezésben n®nek a szár körül; a szomszédos

7
8 3. Számolás egész számokkal

Fibonacci-számok hányadosának határértéke pedig az ún. aranymetszés arányszáma.


Knuth [2] alapján a 41 értékes jegyre csonkított eredmény:

1.6180339887498948482045868343656381177203

3.1. Javasolt órai feladat


Számoljuk ki két szomszédos Fibonacci-szám hányadosaként el®álló sorozat elemeit, amed-
dig lehet.

3.2. Javasolt házi feladatok


1. Határozzuk meg, az egészek összes lehetséges összeadásának, illetve szorzásának
hány százaléka vezet túlcsorduláshoz a számítógépünkön.

2. Írjuk fel értékadó utasítások olyan sorozatát, amely két egész számot tárolni tudó
változó értékét segédváltozó nélkül felcseréli. Gondoljunk a túlcsordulásra is!

3. Intevallumösszeg. Írjunk programot, amely egy adott s egész számhoz megkeresi az


i és j egészek (1 ≤ i ≤ j ) összes olyan párosítását, hogy az [i, j] zárt intervallumba
es® egész számok összege éppen s legyen.

4. Osztók maximális összege. Keressük meg azt az egész számot az [i, j] zárt interval-
lumban (1 ≤ i ≤ j ), melyre igaz, hogy osztóinak összege maximális. (Az 1 és maga
a szám is osztó.)

5. Háló pontjainak megszámlálása. Írjunk programot, amely beolvas egy r egész szá-
mot és megszámolja, hogy az r sugarú körbe az egységnyi oldalú négyzetháló hány
pontja esik, azaz hány (x, y) pár elégíti ki az x · x + y · y ≤ r · r egyenl®tlenséget.

6. Pithagoraszi számhármasok. Keressük meg az 1 ≤ i ≤ imax és az 1 ≤ j ≤ jmax


tartományokban az összes olyan (i, j) párt, amelyek pithagoraszi számhármast al-
kotnak (azaz i · i + j · j négyzetszám).
4. fejezet

Számolás valós számokkal

Jól ismert a másodfokú egyenlet megoldóképlete, amely nem elfajult esetben a gyököket
adja meg. Eszerint az
ax2 + bx + c = 0

egyenlet gyökeit az
√ √
−b − b2 − 4ac −b + b2 − 4ac
x1 = x2 =
2a 2a

képletekkel számolhatjuk.

4.1. Javasolt órai feladat


Felhasználva ezt az összefüggést, készítsünk a másodfokú egyenletet megoldására pro-
gramot.
Számítsuk ki a programmal az

(x − 10.0i ) · (x − 1.0) = 0.0

másodfokú egyenlet gyökeit az i = 1, 2, 3, . . . értékekre.


Figyeljük meg a kisebbik gyökként el®állított értékeket. A hiba oka: a nagyon kis
gyökök relatív hibája nagy, különösen akkor, ha az egyenlet két gyöke abszolút értékben
jelent®sen eltér egymástól. Ilyenkor ugyanis a is, és c is kicsi b-hez képest, s ezért

b és b2 − 4ac

közel azonos érték¶. A korlátozott pontosság következtében e két érték különbségének


nagy lesz a relatív hibája.
Jobb eredményt kapunk, ha a megoldóképlettel ekvivalens
2c
b c
x1 = − q x2 = −
1+ 1− 4ac ax1
b2

képletek alapján határozzuk meg a gyököket, ahol abszolút értékét tekintve x1 a kisebbik
és x2 a nagyobbik gyök.

9
10 4. Számolás valós számokkal

4.2. Javasolt házi feladatok


1. Vizsgáljuk meg a valós aritmetika viselkedését a következ® számítások elvégzésével:

(a) 1 − 1/3 − 1/3 − 1/3


(b) 1 − 1/6 − 1/6 − 1/6 − 1/6 − 1/6 − 1/6

(c) x − x2 x néhány értékére

(d) x − ( x)2 x néhány értékére
(e) x − tan(arctan(x)) x néhány értékére

2. A rendelkezésünkre álló leírásokból határozzuk meg számítógépünk valós aritmetikai


m¶veleteinek és valós függvényeinek tulajdonságait! Ha tudjuk, számítsuk ki a
végrehajtási id®ket is.

3. Számítsuk ki e és 1/e közelít® értékét az

e = 1 + 1/1! + 1/2! + 1/3! + . . . 1/e = 1 − 1/1! + 1/2! − 1/3! + . . .

sorok segítségével. A közelít® értékek összeszorzásával minden lépés után ellen®riz-


zük az eredményt.

4. Számítsuk ki π/4 közelít® értékét a

π/4 = 1 − 1/3 + 1/5 − 1/7 + 1/9 − . . .

sor segítségével. Minden lépés után irassuk ki a közelít® értéket, és hasonlítsuk össze
a számítógépünk által számolt π/4 hányadossal.

5. Számítsuk ki ln(2) közelít® értékét a

ln(2) = 1 − 1/2 + 1/3 − 1/4 + 1/5 − . . .

sor segítségével. Ellen®rzésképpen számítsuk ki e-nek a közelít® értékek szerinti


hatványát.
5. fejezet

Elemi függvények,
függvénytranszformáció

Elemi algebrai függvények

• Racionális egész függvények


általános alakjuk:
y = an xn + an−1 xn−1 + . . . + a1 x + a0 ,
ahol an , . . . , a0 tetsz®leges valós számok. Ha an 6= 0, ez egy n-ed fokú racionális
egész függvény (a jobb oldal n-ed fokú polinom).
néhány racionális egész függvény:

 lineáris függvény: y = ax + b, ahol a 6= 0, képe egyenes;


 másodfokú függvény: y = ax2 + bx + c, ahol a 6= 0, képe az y -tengellyel
párhuzamos tengely¶ parabola;

• Racionális törtfüggvények
általános alakjuk:

an xn + an−1 xn−1 + . . . + a1 x + a0
y= ,
bm xm + am−1 xm−1 + . . . + b1 x + b0

ahol an , . . . , a0 , bm , . . . , b0 tetsz®leges valós számok (an , bm 6= 0). Általában feltéte-


lezzük, hogy ebben az alakban már egyszer¶síteni nem lehet.
néhány racionális törtfüggvény:

 a legegyszer¶bb: y = xa , ahol a 6= 0, képe hiperbola;


 lineáris törtfüggvény: y = ax+b
cx+d
, ahol a, c 6= 0;

• Algebrai irracionális függvények


egyszer¶sített alakjukban a független változó gyökvonásban is el®fordul

 y = ± ax + b, ahol a 6= 0, képe parabola, melynek szimmetriatengelye az
x-tengely;

 y = ± ax2 + bx + c, ahol a 6= 0, képe a és ax2 + bx + c diszkriminánsának
el®jelét®l függ®en ellipszis vagy hiperbola;

Elemi transzcendens függvények

11
12 5. Elemi függvények, függvénytranszformáció

• exponenciális függvény
általános alakja: y = ax , ahol a > 0 és a 6= 1

• logaritmusfüggvény
általános alakja: y = loga x, ahol a > 0 és a 6= 1

• trigonometrikus függvények
alakjuk: y = sin x, y = cos x, y = tan x és y = cot x

• hiperbolikus függvények
alakjuk:
ex − e−x ex + e−x
y = sinh x = és y = cosh x =
2 2
x −x
e −e e + e−x
x
y = tanh x = x és y = coth x =
e + e−x ex − e−x

5.1. Javasolt órai feladat


Rajzoljuk meg program segítségével a fenti függvények grakonját beolvasott paraméterek
mellett.

5.2. Javasolt házi feladatok


1. Írjunk az y = x2 másodfokú függvény transzformációit grakusan szemléltet® pro-
gramot.

2. Írjunk az y = sin x trigonometrikus függvény transzformációit grakusan szemléltet®


programot.
6. fejezet

Empirikus képletek el®állítása

Empirikus képleteknek nevezzük azokat a mennyiségi összefüggéseket, amelyeket közvetlen


meggyelés, mérés útján nyert tapasztalati eredmények alapján határoztunk meg. Az al-
kalmazott matematikának legtöbbször a természettudományok és a m¶szaki tudományok
területén kell ilyen problémákkal foglalkozni. Célunk, hogy lehet®leg egyszer¶ képlettel
kifejezzük az összetartozó (xi , yi ) i = 1, 2, . . . , n tapasztalati eredmények kapcsolatát.
A probléma megoldása során el®ször megállapítjuk az empirikus képlet típusát. A
kiválasztott típusú y = ϕ(x; a1 , a2 , . . . , am ) empirikus függvény paramétereinek értékeit
úgy határozzuk meg, hogy a
n
X
Φ(a1 , a2 , . . . , am ) ­ (yi − ϕ(xi ; a1 , a2 , . . . , am ))2
i=1

függvény minimális legyen. A Φ(a1 , a2 , . . . , am ) függvény minimumát a

∂Φ ∂Φ ∂Φ
= 0, = 0, . . . , =0
∂a1 ∂a2 ∂am

egyenletrendszert megoldva nyerhetjük.


A gyakorlatban ezek a deriváltak, illetve ebb®l a paraméterek lineáris empirikus függ-
vény esetén könnyen számolhatók. Más közelít® függvény alkalmazása esetén különböz®
transzformációkkal lineárissá alakítjuk, és így felhasználhatjuk a lineáris eset összefüg-
géseit. Az eredményt természetesen vissza kell alakítani. Az alábbi táblázatban foglaltuk
össze a legfontosabb empirikus függvénytípusokat és linearizálásukat.

Típus Függvény x0 y0 a b
lineáris y = a + bx x y α β
exponenciális y = aebx x ln y eα β
hatványfüggvény y = axb ln x ln y eα β
b
arrhenius y = ae− x − x1 ln y eα β
1 1
reciprok y = a+bx x y
α β
ax x 1 β
racionális tört y = 1+bx x y α α
y
kvadratikus y = x(a
√ + bx) x x
α β
vektoriális y = a + bx2 x2 y 2
α β
hiperbola y = a + xb 1
x
y α β
β
logaritmikus y = a ln bx ln x y β eα

13
14 6. Empirikus képletek el®állítása

Linearizálva a tapasztalai értékeinket kiszámíthatjuk az


n
X n
X
s1 = x0i , s2 = yi0
i=1 i=1

és n n
X X
s3 = (x0i )2 , s4 = x0i yi0 ,
i=1 i=1
értékeket, majd ezekb®l a
ns4 − s2 s1 s2 − βs1
β= 2
α=
ns3 − s1 n
értékeket, amib®l az a és b együtthatók a táblázat alapján nyerhet®k.

6.1. Javasolt órai feladat


Határozzunk meg az
x 1 2 3 4 5 6 7 8 9 10
y 1.70 4.40 8.10 12.80 18.50 25.20 32.90 41.60 51.30 62.50
mérési adatok esetén megfelel® empirikus függvényt.

6.2. Javasolt házi feladatok


1. Határozzunk meg program segítségével az
x 8 10 15 20 30 40 60 80
(a)
y 13.0 14.0 15.4 16.3 17.2 17.8 18.5 18.8
x 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
(b)
y 2.119 2.142 2.150 2.141 2.117 2.070 2.016 1.948
x 26.43 22.40 19.08 16.32 14.04 12.12 10.51 9.147 7.995
(c)
y 14.70 17.53 20.80 24.54 28.83 33.71 39.25 45.49 52.52
mérési adatok esetén megfelel® empirikus függvényt.
2. 50 C ◦ -on, különböz® nyomásokon megmértük 1 mól N H3 térfogatát:
P 118.6 498 957 1573
V 22.13 5.11 2.55 1.456
Határozzuk meg a van der Waals állandókat.
3. Egy Weston-elem feszültsége 20 C ◦ -tól eltér® h®mérsékleten, az eltérés függvényé-
ben:
δ -10 -5 0 5 10 15
U 1.01895 1.01883 1.01865 1.01842 1.1816 1.01786
Adjunk egy polinomközelítést.
7. fejezet

Interpolációs polinomok

A függvények grakus ábrázolása olyan terület, ahol gyakran találkozunk az interpolá-


ció szükségességével. Ha néhány pontjával megadott függvényt kell folytonos görbével
ábrázolnunk, a függvény ismeretlen pontjait mindig valamilyen interpolációs módszerrel
határozzuk meg.

7.1. Javasolt órai feladat


A Lagrange interpolációs polinom helyettesítési értékének kiszámítására gyakran használ-
ják Aitken módszerét. Ez az eljárás egyrészt egyszer¶síti a számítás elvégzését, más-
részt módot ad arra, hogy  ha az interpoláció fokszáma nem bizonyul elegend®nek  egy
újabb alappont felvételével a már kiszámolt helyettesítési értékekb®l az eggyel magasabb
fokszámú polinom helyettesítési értékét el®állítsuk. Az x1 , x2 , . . . , xn , xn+1 alappontokra
támaszkodó n-edfokú interpolációs polinom el®állítható a következ®képpen:

p1,...,n−1,n (x) · (xn+1 − x) − p1,...,n−1,n+1 (x) · (xn − x)


p1,...,n−1,n,n+1 (x) = .
xn+1 − xn

Az Aitken-interpoláció rekurzív módon állítja el® az egyre nagyobb fokszámú polinomok-


ból adódó helyettesítési értékeket.
Írjuk meg a Lagrange-interpolációt, illetve az Aitken-interpolációt megvalósító függ-
vényeljárásokat!

• bemen® paraméterek:

 n: alappontok száma
 x: alappontok tömbje
 y : függvényértékek tömbje
 x0: ahol a függvényértékre kíváncsiak vagyunk

• visszatérési értékek

 az x0-hoz tartozó függvényérték


 hibajelzés

15
16 7. Interpolációs polinomok

7.2. Javasolt házi feladatok


Írjunk programot, mely a Lagrange-interpolációval, illetve az Aitken-interpolációval kiszá-
molja az [1, 4] intervallumban 0.5-es lépésközzel az alábbi alappontokban megadott függ-
vények értékét.
x 1.000 2.000 3.000 4.000
1.
y 1.000 1.800 2.200 2.500

x 0.85 0.95 1.05 1.15 1.25


2.
y 0.9561 1.0995 1.2539 1.4208 1.6019
8. fejezet

Numerikus dierenciálás és integrálás

8.1. Javasolt órai feladat


Rb
Írjuk meg a következ® Pascal függvényeket az a
f (x)dx kiszámítására:
• function kistrapez(a,b:real;f:fuggv):real;

• function nagytrapez(a,b:real;n:integer;f:fuggv):real;

• function kissimpson(a,b:real;f:fuggv):real;

• function nagysimpson(a,b:real;n:integer;f:fuggv):real;
Számítsuk ki az Z 1
4
dx
0 1 + x2
integrál értékét a megírt eljárások segítségével.
(Megjegyezzük, hogy a programban {ŸF+} fordítási direktíva szükséges, mert az inte-
gráló függvényeljárásokban az integrálandó függvényt paraméterként vesszük át:

type
fuggv = functions (x:real):real;

8.2. Javasolt házi feladatok


Rb
Számítsuk ki az alábbi függvények a f (x)dx integráljait adott intervallumon, adott lépéstávol-
sággal, a megírt függvényeljárások segítségével:

1. a = 3.00, b = 5.00, h = 0.20;


x
f (x) = ln sin
π
2. a = 40.00, b = 43.00, h = 0.30;
x
f (x) = ln cos
e2

3. a = 1.70, b = 2.70, h = 0.10;


x
f (x) = ln tan
π

17
9. fejezet

Nemlineáris egyenletek megoldása

9.1. Javasolt órai feladat


Határozzuk meg az f (x) = 2 cos x−x2 függvény legkisebb pozitív gyökét 10−1 pontossággal
felez® módszerrel.

• A gyököket grakusan elkülöníthetjük az f1 (x) = 2 cos x és f2 (x) = x2 függvények


metszéspontjainak behatárolásával. A legkisebb és egyetlen pozitív gyök a [0, π2 ]
intervallumban van.

• Induljunk ki a [0.0, 1.5] intervallumból és ε legyen 2 · 0.5 · 10−1 = 0.1.

i [ai , bi ] ci f (ci ) bi − a i
0. [0.0, 1.5] 0.75 0.90088 1.5
1. [0.75, 1.5] 1.125 −0.40327 0.75
2. [0.75, 1.125] 0.9375 0.30470 0.375
3. [0.9375, 1.125] 1.03125 −0.03598 0.1875
4. [0.9375, 1.03125] 0.984375 0.09375

Tehát a gyök közelít® értéke 10−1 pontossággal: 0.984375.

Írjuk meg a felez®, a húr-, a szel® és a Newton-módszert megvalósító függvényeljárá-


sokat. A f (x) = 2 cos x − x2 függvény legkisebb pozitív gyökét keressük az eljárásokkal
10−15 pontossággal, és hasonlítsuk össze a módszerek konvergenciájának gyorsaságát.

9.2. Javasolt házi feladatok


Határozzuk meg az alábbi függvények gyökeinek számát és különítsük el ®ket. Közelítsük
a függvények elkülönített gyökeit alkalmas módszerrel 5 · 10−10 pontossággal:

1. f (x) = x2 + lg x − 9

2. f (x) = ex + x2 − 2

3. f (x) = sin x + 1 − x

18
10. fejezet

Polinomegyenletek megoldása

10.1. Javasolt órai feladat


A gyökközelít® eljárásokat alkalmazva egy polinom gyökeinek keresésére, általában ki kell
számítani a polinom néhány helyettesítési értékét. Ha a
pn (x) = a0 xn + a1 xn−1 + . . . + an−1 x + an
polinom értékét a c helyen a képlet alapján számítjuk, rendre ki kell számítani a
c2 , c3 , . . . , cn , an−1 c, an−2 c2 , . . . , a0 cn
értékeket. Ez összesen 2n − 1 szorzást kíván, majd pn (c) kiszámításához ezután még n
összeadást kell elvégezni. Ha pedig a Horner-elrendezés segítségével számolunk, csak n
szorzást és n összeadást kell elvégeznünk.
Számítsuk ki a Horner-elrendezés segítségével a p5 (x) = 4x5 − 3x3 + 6x2 − 9 polinom
értékét az x0 = 2 helyen.
4 0 −3 6 0 −9
2 8 16 26 64 128
4 8 13 32 64 119
Próbáljuk meg elkülöníteni a polinom valamelyik gyökét:

| − 9| 9 3
≤ |x| ≤ 1 + és x ≤ 1 + .
6 + | − 9| 4 2
Tehát a (0, 2) intervallumban van gyök. Induljunk ki a c0 = 1 pontból, és alkalmazzuk
a Newton módszert:
4 0 −3 6 0 −9
1 4 4 1 7 7
4 4 1 7 7 -2
1 4 8 9 16
4 8 9 16 23
Tehát
−1
c1 = 1 − = 1.0869565
23
a gyök új közelít® értéke.
Írjuk meg a Horner-elrendezés alapján polinom helyettesítési értékét számító függ-
vényeljárást. Az el®z® óra eljárásait is felhasználva közelítsük a gyököt.

19
20 10. Polinomegyenletek megoldása

10.2. Javasolt házi feladatok


Határozzuk meg az alábbi polinomegyenletek valós gyökeit. El®ször különítsük el a gyö-
köket a tanult szabályokkal, majd keressük az egyes intervallumba es® valós gyököket
Newton-módszerrel. Használjuk a Horner-sémát.

1. x4 − 2x3 − 3x2 − 3x − 4 = 0

2. x4 − 2.25x3 + 2.265x2 − 2.25x + 1.265 = 0


Irodalomjegyzék

[1] C.H.A., Programozás felülnézetben, M¶szaki Könyvkiadó, Budapest, 1988.

[2] Knuth, D.E., A számítógép-programozás m¶vészete, 1. kötet: Alapvet® algoritmusok,


M¶szaki Könyvkiadó, Budapest, 1987.

[3] Obádovics J.Gy., Gyakorlati számítási eljárások, Gondolat Kiadó, 1972.

[4] Programozási feladatok és algoritmusok Turbo Pascal nyelven, ComputerBooks, 1996.

[5] Turbo Pascal User's Guide

21

You might also like