Bevezetés

iDevice ikon

A függvénytan kísérleti tudományokra való hatása helyett tisztázni fogjuk az informatikus számára elengedhetetlen függvényfogalmat, mely alapján az adatkezelés hatékonyabbá tehető, illetve a matematikai alkalmazások helyesen értelmezhetők. Konkrét matematikai eredmények és vívmányok, mint bizonyított módszerek vagy eljárások, tudományos igényesség nélkül tömegesen kerülnek felhasználásra a hétköznapi problémák megoldásánál, ami csak a feltételek szigorú figyelembevétele mellett lenne javasolt.

Közoktatásból hozott matematikai szokások szerint bizonyos elemi függvények ábrázolását vagy gyökeinek keresését gépiesen és érdeklődés nélkül végeztük. Remélhetőleg még mindenki ki tudja számolnia a másodfokú polinom valós gyökeit, és képes egy hiperbola vagy trigonometrikus függvény ábrázolására. Az exponenciális és logaritmus-függvényektől valamiért tart a diákok zöme. Pedig a valós függvénytan és főleg az ex függvény alapozta meg a matematika új diszciplínáit - a valószínűségszámítást és a komplex függvénytant -, és a legtöbbet adta a kísérleti tudományoknak.

Reményeim szerint még tudják a közoktatásból jött diákok, hogy az f(x)=x2-1 egyéb feltételek rögzítése nélkül az összes valós számon értelmezett és valós értékeket adó függvény, ami tehát az egész számegyenes felett ábrázolható. Kevesen gondolkoznak el azon, hogy az x tengely 2 pontja között azért lehetett „folyamatosan" megrajzolni a grafikonját, mert a 2 pont között nem megszámlálhatóan végtelen valós szám helyezkedik el, tehát az azokhoz tartozó f(x) értékek teljesen „összeérnek" (és nem csak sűrűn helyezkednek el), amikor az y tengelyen felmérik azokat. Persze a matematika nem használhat olyan meghatározást a függvény folytonosságára egy intervallum fölött, hogy a grafikonja azon az intervallumon egy darabban felrajzolható, hiszen rengeteg összetett függvényt a szánalmas érték-táblázattal történő próbálkozással sem tudnánk helyesen felrajzolni. Komoly eszköztár - a határérték fogalmának bevezetése - segítségével jutott el a matematika tudománya a folytonosság definiálásához. A folytonosság tisztázása a differenciálhatóság értelmezését segítette elő, aminek óriási hatása volt a fizikára és egyéb alkalmazott ágakra. Főiskolai képzésben már alapkövetelmény az egy- és kétváltozós valós függvénytan differenciál- és integrálszámítással együtt, majd szaktól függően a differenciálegyenletek vagy a komplex függvénytan is.

Ha a g(x)=1/x függvényt felidézzük, akkor abban is egyetértünk, hogy az a 0-ban nem kiszámolható, azaz az x=0-ra nincs értelmezve. Az egyébként könnyen ábrázolható függvény 2 darabját a koordináta-rendszerben még bizonyára bárki felrajzolná, mert a függvénytípus elemi kategóriája szerint még transzformációk sem kellenek a menete felvázolásához. Azonnal látjuk, hogy a függvény a 0-ban nincs értelmezve, és gyakran egy kategóriába soroljuk az összes x-re értelmezett előjel-függvénnyel, ami ugyan 3 darabban,

de nagyon egyszerűen ábrázolható: h(x)=

Az előbbi g(x) és h(x) függvények tehát szemmel láthatóan nem voltak 1 darabban ábrázolhatóak, vagy azért mert a függvény-érték értelmezve sem volt valamely x pontban, vagy azért mert ugrása volt valamely x pontban.

A fenti példa-függvények bármelyike valós számból egy másik számot készített egy képlet szerint. Írhattuk volna az f(x)=x2 helyett azt is, hogy NÉGYZETRE_EMELÉS(x), hiszen az argumentumában szereplő változó helyébe bevitt értékkel a nevében mondott utasítást, vagyis funkciót kell végrehajtania. Ismerünk sok matematikai függvényt, aminek már a nevében ott van a teendő, tehát a funkciója. Általában ugyanolyan elnevezésekkel találhatók meg a számológépeken és a számítógépes rendszerek belső függvényei között. Használat közben nem is foglalkozunk azzal, mennyire bonyolult matematikai feladat a kívánt érték kiszámolása, vagy viszonylag jó megközelítése.

Példák:

  • az LG(x) az x 10-es alapú logaritmusát adja vissza,
  • az EXP(x) az x exponenciálisát (konkrétan az e „nagyon" irracionális szám kitevőjébe, azaz exponensébe téve az x értéket) számolja ki,
  • a SIN(x) megadja az x szinuszát (erre a geometriai ismeretek miatt jobban emlékezhetnek),
  • az ABS(x) veszi az x abszolút értékét, azaz távolságát az origótól,
  • az INT(x) az x valós szám egész részét határozza meg, vagyis a nála nem nagyobb egészek legnagyobbikát.

A középiskolában megismert matematikai függvények zöme egyszerű számokra (skalárokra) értelmezett, és általában nem függvényként adták meg az összetett számokkal végzett műveleteket.

Ilyen lehetne a MÁTRIX_DETERMINÁNS(M) függvény, ami egy négyzetes mátrixból kiszámolná annak determinánsát, vagy a SKALÁRIS_SZORZAT(a,b) függvény, ami 2 azonos dimenziójú vektornak adná vissza a belső szorzatát, vagy a HOSSZ(v), ami 1 vektornak számolná ki a nagyságát. Ha ezeket a számításokat részfeladatként gyakran kellene elvégeznünk, azonnal függvényt írnánk a feladat formális elvégzésére, és olyankor beszédes rövidnévvel neveznénk el azokat. Mennyivel egyszerűbb lenne a matematikai módszereket (eljárásokat) megjegyezni, ha a következőképpen nézne ki az egyik közismert tétel:

--Két_térbeli vektor_merőlegessége
ha HOSSZ(a)>0 és HOSSZ(b)>0

akkor ha SKALÁRIS_SZORZAT(a,b) = 0

akkor „a és b merőleges egymásra"

egyébként „a és b nem merőleges egymásra"

egyébként „a null-vektor semmire sem merőleges"

függvény HOSSZ(paraméter: v vektor)

visszaadott érték h: skalár

h:= NÉGYZETGYÖK(v12 + v22 + v32)

függvény SKALÁRIS_SZORZAT(paraméter: u:vektor, v:vektor)

visszaadott érték sz: skalár

sz:= u1 * v1 + u2 * v2 + u3 * v3

A 2 példa-függvényt sok más tételben is felhasználhatnánk, és konkrét a, b vektorokra magát az eljárást futtathatnánk.

Megjegyzem, a négyzetgyök kiszámítása sem egy gigantikus függvénytáblából való keresgéléssel történik, hanem a differenciálszámítás egyik vívmánya szerint egy hatványsor közelítő összegeként áll elő. Az elmondottak alapján is kijelenthető, hogy a matematikai függvény nem egy szám, hanem egyfajta recept, ami kiindul egy számból, majd egy másik számot rendel hozzá. Ezt a „receptet" gyakran képlet formájában írjuk le, ami minden x számhoz egy meghatározott tartományból egy másik f(x) számot rendel. A függvény geometriai ábrázolása alkalmával minden lehetséges x meghatározza a hozzá tartozó y koordinátát az y=f(x) összefüggés szerint. Ez az egyenlőség leírja a 2 koordináta közti viszonyt, és ezzel meghatározza a görbét is, amit a függvény grafikonjának nevezünk. Ha több számból indul a hozzárendelés, akkor többváltozós függvényről beszélünk. Az f(x,y)=x×y nagyon egyszerű 2-változós függvény, melyet szemmel láthatóan térbeli koordináta-rendszerben tudnánk -, és egyáltalán nem könnyen - ábrázolni. 2 független változó függvényében írjuk fel a z tengely szerint felmérni kívánt számot, tehát itt is egyértelműen megfeleltethető a 2 bemenő paraméternek a 3. paraméter értéke. Tehát a függvényérték: z=f(x,y). Nem szükséges SZORZAT(x,y) függvényként kezelni a szóban forgó függvényt, miután a művelet egyetlen kifejezésben megfogalmazható, tehát képlettel felírható 2 formális paraméter segítségével. A matematikai függvények zöme tehát beszédes név nélküli szereplője az értékét felhasználó tetszőleges kifejezésnek, ha előtte ún. „értékadó utasítással" megadtuk a képletét (ugyan a matematikában az értékadást szintén egyenlőség-jellel intézzük, mint az összehasonlítás műveletét).

Például:

f(x)= 3x3-7x+1 // az értékadás a függvény definiálása

...

f(x)+7x>0 ... f(x)=0 // függvényhívások az összehasonlításokban

Meg kell jegyezni, hogy a képlettel megadott kifejezés sem mindig csupa közérthető művelettel van felírva.

A sin x valójában egy SIN(X) függvényhívás, mert a bemenő x számra egy végtelen sor összegét kell elég jó közelítéssel kiszámolnia. Nézzük a képletét, melyről egy későbbi fejezetben még beszélünk:

A középiskolában erre függvénytáblát használtunk.

De az x3 görbéhez, a (2,8) pontban húzott érintő meredekségét is egyelőre idegen művelet (a deriválás) jelzésével tudnánk csak megadni, akárcsak a görbe alatti terület nagyságát a (0,1) intervallumon (a határozott integrál jelzésével). Mindkét művelet jelentéséről és jeléről lesz szó a későbbiekben.

A formális megadásban mindig jól látszik a függvény feladata, feltéve, hogy az összes művelettel tisztában vagyunk, amiket a formális paraméterre vonatkozóan használunk a kifejezésben. Azt mondjuk, hogy egy (vagy több) formális paraméter függvényében írjuk fel a kívánt matematikai funkciót. Ezért a függvény neve lehet semmitmondó, akár csak egy tetszőleges betű.

Vannak a matematikában is szokások: a valós függvény nevei számottevően az f, g, h közül, míg a természetes számok felett értelmezett függvények (sorozatok) nevei az a, b, c közül kerülnek kiválasztásra. Azt is megszoktuk, hogy a matematikai függvények argumentumában szereplő paraméter a nevével sugallja, milyen számot vár: x esetén valósat, n esetén természeteset. Ezennel meghívom az olvasót az 1-változós valós függvényekről szóló félig tudományos beszélgetésre, mely közben reményeim szerint fény derül a fenti problémák informatikushoz méltó megközelítésére, végül pedig hasznos és ötletes informatikai alkalmazásokat mutatok be azzal a nem titkolt szándékkal, hogy az olvasó a szaktárgyak bármelyikéhez eredményesebb hozzáállást tanúsíthasson.

Kulcsszavak felsorolásának a nagyobb fejezetek végén az a célja, hogy a fejezetben megismert legfontosabb fogalmakat összegyűjtse. A kulcsszavak tömör definíciói alkotják a Fogalomtárat.