SCILAB programcsomag segítségével

Hasonló dokumentumok
Matematikai programok

Maple: Deriváltak és a függvény nevezetes pontjai

Kétváltozós függvények differenciálszámítása

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

DIFFERENCIÁLÁS, GRADIENS VEKTOR, HESSE MÁTRIX, LÁNCSZABÁLY,

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

DR. NAGY TAMÁS. egyetemi docens. Miskolci Egyetem Alkalmazott Matematikai Tanszék

Petz Erika

Matematika II. 1 sin xdx =, 1 cos xdx =, 1 + x 2 dx =

1. Parciális függvény, parciális derivált (ismétlés)

Függvények ábrázolása

Közönséges differenciálegyenletek megoldása Mapleben

Matematikai programok

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei

First Prev Next Last Go Back Full Screen Close Quit

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

Komplex számok trigonometrikus alakja

Matematika III előadás

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

Numerikus matematika

Csima Judit március 9. és 16.

sin x = cos x =? sin x = dx =? dx = cos x =? g) Adja meg a helyettesítéses integrálás szabályát határozott integrálokra vonatkozóan!

Számítógépes programok alkalmazása az analízisben

Példatár a bevezetés a Matlab programozásába tárgyhoz

12 48 b Oldjuk meg az Egyenlet munkalapon a következő egyenletrendszert az inverz mátrixos módszer segítségével! Lépések:

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

MATLAB. 5. gyakorlat. Polinomok, deriválás, integrálás

: 1 4 : 1 1 A ) B ) C ) D ) 93

Óravázlatok: Matematika 2.

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

Többváltozós, valós értékű függvények

Bevezetés a játékelméletbe Kétszemélyes zérusösszegű mátrixjáték, optimális stratégia

1. Oldja meg a z 3 (5 + 3j) (8 + 2j) 2. Adottak az A(1,4,3), B(3,1, 1), C( 5,2,4) pontok a térben.

Széchenyi István Egyetem. Műszaki számítások. Matlab 4. előadás. Elemi függvények és saját függvények. Dr. Szörényi Miklós, Dr.

Baran Ágnes, Burai Pál, Noszály Csaba. Gyakorlat Differenciálegyenletek numerikus megoldása

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 31. Széchenyi István Egyetem, Gy r

Baran Ágnes. Gyakorlat Függvények, Matlab alapok

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

Kalkulus 2., Matematika BSc 1. Házi feladat

MATLAB alapismeretek III.

2. SZÉLSŽÉRTÉKSZÁMÍTÁS. 2.1 A széls érték fogalma, létezése

Bevezetés a MATLAB programba

Baran Ágnes. Gyakorlat Halmazok, függvények, Matlab alapok. Baran Ágnes Matematika Mérnököknek Gyakorlat 1 / 34

A számok kiíratásának formátuma

Széchenyi István Egyetem. Informatika II. Számítási módszerek. 5. előadás. Függvények ábrázolása. Dr. Szörényi Miklós, Dr.

Logika és informatikai alkalmazásai

Többváltozós, valós értékű függvények

Lengyelné Dr. Szilágyi Szilvia április 7.

Annak a function-nak a neve, amiben letároltuk az egyenletünket.

Eredmények, objektumok grafikus megjelenítése 3D felületek rajzoló függvényei

V. Békés Megyei Középiskolai Matematikaverseny 2012/2013 Megoldások 11. évfolyam

MÁTRIXFÜGGVÉNYEK, SAJÁT FÜGGVÉNYEK, GRAFIKA

Táblázatkezelés 5. - Függvények

Mérnöki programozás 8. Szerkesztette: dr. Vass Péter Tamás

5.10. Exponenciális egyenletek A logaritmus függvény Logaritmusos egyenletek A szinusz függvény

Függvények Függvények

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

PTE PMMFK Levelező-távoktatás, villamosmérnök szak

A mérési eredmény megadása

11. modul: LINEÁRIS FÜGGVÉNYEK

Függvények Megoldások

9. feladatsor: Többváltozós függvények deriválása (megoldás)

Matematika. 4. konzultáció: Kétváltozós függvények szélsőértéke. Parciális függvény, parciális derivált

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

Két körhenger általánosabban ( Alkalmazzuk a vektoralgebrát! ) 1. ábra

Normák, kondíciószám

Konjugált gradiens módszer

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások. 1. Az alábbi hozzárendelések közül melyik függvény? Válaszod indokold!

Feltételes és feltétel nélküli optimalizálás Microsoft O ce EXCEL szoftver segítségével

MATLAB alapismeretek IV. Eredmények grafikus megjelenítése: vonalgrafikonok

Függvények int, long 1. Adott a mellékelt f alprogram.

ANALÍZIS II. Példatár

3. Gyakorlat Ismerkedés a Java nyelvvel

2. sillabusz a Többváltozós függvények kurzushoz

MATLAB alapismeretek II.

Arany Dániel Matematikai Tanulóverseny 2012/2013-as tanév 1. forduló haladók III. kategória

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

20. tétel A kör és a parabola a koordinátasíkon, egyenessel való kölcsönös helyzetük. Másodfokú egyenlőtlenségek.

Hamilton rendszerek, Lyapunov függvények és Stabilitás. Hamilton rendszerek valós dinamikai rendszerek, konzerva3v mechanikai rendszerek

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

1. Bevezetés. 2. Felületek megadása térben. A fenti kúp egy z tengellyel rendelkező. ismerhető fel, hogy. 1. definíció. Legyen D R n.

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

Másodfokú egyenletek, egyenlőtlenségek

A Föld középpontja felé szabadon eső test sebessége növekszik, azaz, a

Algoritmusok Tervezése. 1. Előadás MATLAB 1. Dr. Bécsi Tamás

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

BASH script programozás II. Vezérlési szerkezetek

MATEMATIKA 2. dolgozat megoldása (A csoport)

függvény grafikonja milyen transzformációkkal származtatható az f0 : R R, f0(

Demográfiai modellek (folytatás)

10. modul: FÜGGVÉNYEK, FÜGGVÉNYTULAJDONSÁGOK

Komputeralgebra rendszerek

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév

2. Algebrai átalakítások

JPTE PMMFK Levelező-távoktatás, villamosmérnök szak

Átírás:

Felhasználói függvények de niálása és függvények 3D ábrázolása SCILAB programcsomag segítségével 1. Felhasználói függvények de niálása A Scilab programcsomag rengeteg matematikai függvényt biztosít a számítások elvégzésére, ezek egy része a jól ismert függvény (exp(), sin(),...), a többi pedig el½ore elkészített, valamilyen feladat megoldására szolgáló Scilab függvény (inv(), linsolve(),...). A felhasználói függvényeket online módon kétféleképpen lehet de niálni, egyrészt egyetlen parancssorban, másrészt több parancssorban. Mindkett½o alkalmazására mutatunk példát. 1.1. Függvény de niálása egy parancssorban Egyszer½ubb függvényeket ezzel a módszerrel de niáljuk. A de () nev½u Scilab de níciós függvénnyel végezzük, amelynek két paramétere van, mindegyik sztring paraméter. Az els½o paraméter a függvényhívást, a második paraméter pedig a függvénykiértékelést reprezentálja. A függvényde níciót az y = x 2 függvény de niálásával mutatjuk be. A függvényünk neve legyen negyzet. Az alábbi parancsot használjuk a de niáláshoz de ( y=negyzet(x), y=x^2 ) A de níciós sorban az "y" és az "x" betüknek nincs jelent½osége a kés½obbiekben, mivel ezek csupán a formula leírására szolgálnak. A "negyzet" viszont fontos, hisz ez a név azonosítja a függvényünket, ezzel a névvel tudunk hivatkozni rá a kés½obbi felhasználásnál. A függvény hívása úgy történik, hogy leírjuk a nevét és zárójelben megadjuk az argumentumát, például: >negyzet(4) 16. A felhasználó által létrehozott függvény (hasonlóan az el½ore de niált Scilab függvényekhez) tud használni vektort is argumentumként. Legyen például az alábbi számsorozat, amely elemeinek a négyzetét egyszer½uen kiszámíthatjuk és elhelyezhetjük például az "fn" vektorváltozóba az alábbiak szerint >z=-2:0.5:2 z = - 2. - 1.5-1. - 0.5 0. 0.5 1. 1.5 2. >fn=negyzet(z) fn = 4. 2.25 1. 0.25 0. 0.25 1. 2.25 4. Számunkra az optimalizálásban a többváltozós függvények lesznek érdekesek, ezért ezekre is mutatunk példát. Legyen a kétváltozós függvényünk az alábbi: z = x 4 y 4, amelynek neve legyen "fv", megadása a következ½o módon történhet: >de ( z=fv(x,y), z=x^4-y^4 ) A függvény kiszámítása a (2,1) pontban: >fv(2,1) 15 Az el½oz½o példában de niált függvénynek két valós változója van. De niálhatjuk ugyanezt a függvényt egy változóval is, amely természetesen már vektorváltozó lesz. Az alábbi példával illusztráljuk ezt a de niálást, ahol az "x" változó most egy sorvektor vagy egy oszlopvektor: >de ( z= v(x), z=x(1)^4-x(2)^4 ) z=[2;1] z = 2. 1. > v(z) 1

15. >x=[2 1] x = 2. 1. > v(x) 15. Az, hogy milyen módon de niáljuk a függvényt, a felhasználó dolga. Ha kett½onél több változó van, akkor célszer½u az "f(x)" típusú de niálás. A függvény ábrázolásánál, mivel ott legfeljebb kétváltozós lehet a függvény, az els½o típusú de niálást kell alkalmazni, a Scilab gra kus beépített függvényei ezt igénylik. Az alábbiakban a négydimenziós x vektor hosszának a négyzetét de niáljuk. A függvény f(x) = x 2 1 + x 2 2 + x 2 3 + x 2 4, neve pedig legyen " vv". >de ( x= vv(z), x=z(1)^2+z(2)^2+z(3)^2+z(4)^2 ) >y=[2;1;-1;3]; > vv(y) 15. 1.2. Függvény de niálása több parancssorban Ezt a fajta de niálást leginkább akkor alkalmazzuk, ha a függvényünk formulája bonyolult. de niálást egy keretben végezzük, amelynek alakja a következ½o: A function y=fnev(x) a függvényt leíró parancsok endfunction Az els½o sorban a Scilab function alapszava után adjuk meg a függvényhívás reprezentációját. Ez hasonlít az el½oz½o de nicióhoz. A következ½o sorokban adjuk meg a függvény kiszámításának módját. Az endfunction alapszó zárja le a függvény de nícióját. Fontos, hogy az "y" kimen½o paraméternek legalább egyszer értéket adjuk a függvényt leíró parancssorokban. Tekintsük az alábbi egyváltozós függvényt: x, ha x = 2 y = x + (x 2) 2, ha x < 2 A fenti függvény megadása a következ½o: >function y=f(x) >if x>=2 then y=x; end; >if x<2 then y=x+(x-2)^2; end; >endfunction >f(5) 5. >f(1) 2. 2

Most tekintsük a következ½o kétváltozós függvényt. Legyen a függvény értéke az origó közep½u 3 sugarú körön és annak belsejében 9 (x 2 1 + x 2 2), a körön kívül pedig x 2 1 + x 2 2. Ez valójában két forgási paraboloid, az els½o lefelé, a második felfelé szélesedik. 9 (x 2 z = 1 + x 2 2), ha x 2 1 + x 2 2 5 9 x 2 1 + x 2 2, ha x 2 1 + x 2 2 > 9 A függvényünk kétváltozós, ahogy az alábbiakban de niáljuk valójában "egyváltozós" lesz, de az a változó vektorváltozó: >function z= (x) >if x(1)^2+x(2)^2 <= 9 then z=9-(x(1)^2+x(2)^2); end >if x(1)^2+x(2)^2 > 9 then z=x(1)^2+x(2)^2; end >endfunction >x=[1;2]; > (x) 4. >z=[4;3]; > (z) 25. Az el½oz½o el½oismeretek után most megadjuk mindkét függvény-de níció általános formáját. de ( [y1,y2,...,ym]=fvnev(x1,x2,...,xn), fvképlete ) function [y1,y2,...,ym]=fnev(x1,x2,...,xn) a függvényt leíró parancsok endfunction ahol az fvnev a függvény neve, az y1,y2,...,ym változók a függvény kimen½o paraméterei, az x1,x2,...,xn változók a függvény bemen½o paraméterei. Mindegyik fajta paraméter lehetnek vektor vagy mátrixok is. Tehát a kimen½o paraméterek száma az eddig megszokottól eltér½oen egynél több is lehet. Ha egy kimen½o paraméter van, akkor a szögletes zárójel el is maradhat, ahogy eddig is tettük. Ne feledkezzünk meg arról, hogy az els½o típusú de niálásnál a de () függvénynek mindkét paramétere sztring, tehát aposztrófokat kell használni. Most tekintsük az f(x) = x 2 1 + x 1 x 2 + 2x 2 2 függvényt és készítsünk olyan Scilab függvényt, amely a függvényt és annak gradiens vektorát adja kimen½o paraméterként, legyen ennek a függvénynek a neve fvgr. >de ( [f,g]=fvgr(x), f=x(1)^2+x(1)*x(2)+2*x(2)^2,g=[2*x(1)+x(2),x(1)+4*x(2)] ) >x=[2;-1]; >[fv,gr]=fvgr(x) gr = 3. - 2. fv = 4. Mint tudjuk az argumentuma ennek a függvénynek egy vektor, amely lehet sor vagy oszlopvektor. A de nícióban a gradiens vektort sorvektorként de niáltuk, ezért kaptunk sorvektort eredményül. Természetesen lehetett volna a gradiens vektort oszlopvektorként is de niálni, ekkor a függvényde niálás és a függvényhívás eredménye az alábbi: 3

>de ( [f,g]=fvgro(x), f=x(1)^2+x(1)*x(2)+2*x(2)^2,g=[2*x(1)+x(2);x(1)+4*x(2)] ) >[fv,gr]=fvgro(x) gr = 3. - 2. fv = 4. 2. Függvények háromdimenziós (3D) ábrázolása Az alábbiakban a háromdimenziós (3D) ábrázolás gra kus parancsai közül az alábbi kett½ot mutatjuk be: plot3d(x,y,z) fplot3d(x,y,fvnev) Az x, y egy-egy vektor, amely kijelöli, hogy az (x,y) síkon mely pontokhoz tartozó függvényértékeket akarjuk megjeleníteni. Ehhez el½o kell állítani a z mátrixot, amely a pontokbeli függvényértékeket tartalmazzák. Ezzel a paranccsal nem foglalkozunk, mert mi függvényeket szeretnénk ábrázolni, amelyre a második parancs a leginkább alkalmas. A második parancsban harmadik paraméterként (fvnev) az ábrázolandó függvény nevét kell megadni. Megjegyezzük, hogy a gra kus parancsoknak több argumentumuk is lehet, ezek tanulmányozását az olvasóra bízzuk. A 3D függvényábrázoláshoz tehát az alábbi két dolgot kell elvégezni: 1. Az ábrázolandó kétváltozós függvény de niálása. 2. Az x és az y vektorok el½oállítása. Tekintsük az alábbi kétváltozós függvényt. Legyen a függvény értéke az origó közep½u 3 sugarú körön és annak belsejében 5, a körön kívül pedig 2x + y, tehát két síkot kell ábrázolni. 1. lépés: A függvény de niálása >function z= f(x,y) >if x^2+y^2 <= 9 then z=5; end >if x^2+y^2 > 9 then z=2*x+y; end >endfunction 2. lépés: Az x és az y vektorok megadása Egy téglalap tartományon akarjuk megjeleníteni a függvényt, a tartomány mindkét irányban 5 és 5 között legyen. A pontokat 0.1 távolságra vesszük fel, így a vektorok megadása a következ½o: >x=[-5:0.1:5]; >y=x; 3. lépés: A függvény megjelenítése Ehhez ki kell adni a gra kus parancsot: >fplot3d(x,y, f) E parancs kiadása után a függvény képe egy külön ablakban jelenik meg. Ennek a gra kus megjelenít½onek is van menüje, a függvény képének sok paramétere állítható be, amelynek ismertetésére nem térünk ki, jó szórakozást jelenthet az olvasónak ennek áttanulmányozása. Lehet½oség van a kép színezésére, forgatására, stb. 4

A bemutatott gra kus függvényeknek még van egy hasznos változatuk is, ezek a plot3d1() és az fplot3d1() függvények. Ezek alkalmazásával szemléletesebb képet kaphatunk, mert a függvény kölönböz½o szintjeit más-más színnel jeleníti meg. Az el½oz½o függvény ábrázolása az új gra kus függvénnyel az alábbi parancs kiadásával végezhet½o és az alábbi képet kapjuk. >fplot3d1(x,y, f) 5

Végezetül egy másik függvényt is ábrázolunk, amelyre majd az optimalizálás tárgyalásánál vissza fogunk térni. Legyen az ábrázolandó függvény az alábbi z = x 3 + y 3 27x 3y A szükséges lépések a következ½ok: >de ( z=fv(x), z=x^3+y^3-27*x-3*y ) >x=[-5:0.1:5]; >y=x; >fplot3d1(x,y,fv) A függvény képe az alábbi ábrán látható. Megjegyezzük, hogy ennek a fügvénynek a (3,1) pontban minimuma, a (-3,-1) pontban maximuma, a (-3,1) és a (3,-1) pontokban nyeregpontja van, amelyek az ábrán is elég jól láthatók. A függvényértékek a fenti pontokban rendre -56, 56, 52, -52. Végül megjegyezzük, hogy nem törekedtünk a lehet½o legszebb megjelenítésre, mivel nem ez volt a célünk. Aki komolyan akar foglalkozni a Scilab programcsomag adta gra kus lehet½oségekkel, szépíthet az ábrákon. 6

7