Bevezetés a MuPAD használatához

Hasonló dokumentumok
Maple. Maple. Dr. Tóth László egyetemi docens Pécsi Tudományegyetem, 2007

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

Vektorterek. =a gyakorlatokon megoldásra ajánlott

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

VIK A1 Matematika BOSCH, Hatvan, 5. Gyakorlati anyag

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

Mathematica automatikusan dolgozik nagy pontossággal, például 3 a 100-dik hatványon egy szám 48 tizedes jeggyel:

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

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

1/1. Házi feladat. 1. Legyen p és q igaz vagy hamis matematikai kifejezés. Mutassuk meg, hogy

Az egyenlőtlenség mindkét oldalát szorozzuk meg 4 16-al:

Vektorok, mátrixok, lineáris egyenletrendszerek

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

HÁZI FELADATOK. 1. félév. 1. konferencia A lineáris algebra alapjai

A PiFast program használata. Nagy Lajos

12. Mikor nevezünk egy részhalmazt nyíltnak, illetve zártnak a valós számok körében?

Maple: Bevezetés. A Maple alapjai

I. feladatsor i i i i 5i i i 0 6 6i. 3 5i i

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

LINEÁRIS EGYENLETRENDSZEREK október 12. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak

First Prev Next Last Go Back Full Screen Close Quit

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

Számítási feladatok a Számítógépi geometria órához

VIK A2 Matematika - BOSCH, Hatvan, 3. Gyakorlati anyag. Mátrix rangja

Gauss-eliminációval, Cholesky felbontás, QR felbontás

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor

Abszolútértékes és gyökös kifejezések Megoldások

P ÓTVIZSGA F ELKÉSZÍTŐ FÜZETEK UNIÓS RENDSZERŰ PÓTVIZSGÁHOZ. 9. osztályosoknak SZAKKÖZÉP

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:

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:

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

Kalkulus I. gyakorlat Fizika BSc I/1.

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

Komplex számok. Wettl Ferenc előadása alapján Wettl Ferenc előadása alapján Komplex számok / 18

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, mátrixegyenlet

Komplex számok. A komplex számok algebrai alakja

Numerikus matematika

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

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

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

Függvények december 6. Határozza meg a következő határértékeket! 1. Feladat: x 0 7x 15 x ) = lim. Megoldás: lim. 2. Feladat: lim.

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

Függvények július 13. Határozza meg a következ határértékeket! 1. Feladat: x 0 7x 15 x ) = lim. x 7 x 15 x ) = (2 + 0) = lim.

2. Hogyan számíthatjuk ki két komplex szám szorzatát, ha azok a+bi alakban, illetve trigonometrikus alakban vannak megadva?

1. Alapok. #!/bin/bash

A DERIVE kezelése. 1. A DERIVE ablaka. Amikor elindítod a DERIVE-ot ez az ablak jelenik meg:

Matlab alapok. Baran Ágnes

1. zárthelyi,

Matematika elméleti összefoglaló

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

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

Függvények Megoldások

Objektumorientált Programozás III.

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II.

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Bevezetés a MATLAB programba

Gauss elimináció, LU felbontás

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

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

Egyenletek, egyenlőtlenségek V.

MATLAB OKTATÁS 1. ELŐADÁS ALAPOK. Dr. Bécsi Tamás Hegedüs Ferenc

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

Függvények vizsgálata

2014. november 5-7. Dr. Vincze Szilvia

Figyelem, próbálja önállóan megoldani, csak ellenőrzésre használja a következő oldalak megoldásait!

konvergensek-e. Amennyiben igen, számítsa ki határértéküket!

9. Trigonometria. I. Nulladik ZH-ban láttuk: 1. Tegye nagyság szerint növekvő sorrendbe az alábbi értékeket! Megoldás:

Feladat Nézzük meg a súgóban (help és doc) a sin parancs használatáról olvasható információt! Próbáljuk ki a kirajzoltató utasítást.

a) A logaritmus értelmezése alapján: x 8 0 ( x 2 2 vagy x 2 2) (1 pont) Egy szorzat értéke pontosan akkor 0, ha valamelyik szorzótényező 0.

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

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

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Abszolútértékes és Gyökös kifejezések

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, Leontyev-modell

Trigonometria Megoldások. 1) Igazolja, hogy ha egy háromszög szögeire érvényes az alábbi összefüggés: sin : sin = cos + : cos +, ( ) ( )

Komputeralgebra Rendszerek

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

Matematika szigorlat, Mérnök informatikus szak I máj. 12. Név: Nept. kód: Idő: 1. f. 2. f. 3. f. 4. f. 5. f. 6. f. Össz.: Oszt.

3. Lineáris differenciálegyenletek

n n (n n ), lim ln(2 + 3e x ) x 3 + 2x 2e x e x + 1, sin x 1 cos x, lim e x2 1 + x 2 lim sin x 1 )

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

S z á m í t ó g é p e s a l a p i s m e r e t e k

Matematika 11. osztály

Gauss-Seidel iteráció

Másodfokú egyenletek, egyenlőtlenségek

2018, Diszkrét matematika

Matematikai problémák vizsgálata a Maple programcsomag segítségével

GPK M1 (BME) Interpoláció / 16

Lineáris algebra zárthelyi dolgozat javítókulcs, Informatika I márc.11. A csoport

FÜGGVÉNYEK. A derékszögű koordináta-rendszer

MATEMATIKA TANMENET SZAKKÖZÉPISKOLA 9.A, 9.D. OSZTÁLY HETI 4 ÓRA 37 HÉT ÖSSZ: 148 ÓRA

Felügyelt önálló tanulás - Analízis III.

NULLADIK MATEMATIKA ZÁRTHELYI

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

Analízis házi feladatok

KOVÁCS BÉLA, MATEMATIKA I.

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

1. Ábrázolja az f(x)= x-4 függvényt a [ 2;10 ] intervallumon! (2 pont) 2. Írja fel az alábbi lineáris függvény grafikonjának egyenletét!

Gyakorló feladatok I.

Átírás:

Bevezetés a MuPAD használatához 1. Bevezetés A segédanyag a MuPAD Light 2.5.3 használatáról szól. (Az anyoghoz a MuPAD-ot Linux operációs rendszer alatt használtam.) A továbbiakban a MuPAD szó mindig erre utal. Indítsuk el a MuPAD-ot! A megjelenő ablakot a továbbiakban munkalapnak nevezem. Gépeljük be a kiszámítani kívánt kifejezést: >> sin(5*pi/3) A MuPAD nem képes a képernyőre formázott matematikai outputot írni az ASCII szinten felül. Az eredmény kijelzését a képernyőn kétféle módon lehet beállítani a View menüpontban. Ha a Pretty Print gomb be van nyomva, akkor egy viszonylag jól olvasható, több sorban nyomtatott kimenetet kapunk, ha pedig nincs benyomva, akkor egy nehezebben olvasható, de egysoros és így más programokba könnyebben átemelhető kimenetet kapunk. Például az előbb: -1/2*3^(1/2) Ebben a segédanyagban vagy az előbbi kimenet típust alkalmazom, vagy a könnyebb olvashatóság végett a kimenetet átírom L A TEX-be: 1/2 3 1/2 Egymás mellé több kifejezést is gépelhetünk, vesszővel, vagy pontosvesszővel elválasztva. (Próbáljuk ki, mi a különbség!) >> sin(pi/2),sin(pi/3) Ha a sort kettősponttal zárjuk (:), akkor az után a sor végrehajtódik, de az eredmény nem jelenik meg a képernyőn. A MuPAD-ban szigorú lineáris rendben lehet haladni fentről lefelé, egyszer már begépelt sort utólag nem lehet megváltoztatni. Ha korábban bevitt kifejezést újra be kell gépelnünk, akkor használjuk a Copy Paste módszert. A MuPAD megkülönbözteti a kis betűt és a nagy betűt, erre a gépelésnél vigyázni kell. Az előbbi példában láttuk, hogy a Ludolf-féle számot a PI gépelésével lehet elérni, azaz mindkét betű nagy. A rendszermagot a File menüben található Restart Kernel utasítással újraindíthatjuk, ekkor minden korábban bevitt anyag törlődik. Tanulmányozzuk a menüsorban található Help mezőt! Egy MuPAD parancsról rövid információt írhatunk ki a képernyőre az info paranccsal. PI 1

>> info(sin) info Részletes leírást (és példákat) is kaphatunk: >>?sin A megjelenő lapon kattintsunk rá a promt jelre (>>)! Ekkor az ott leírt parancs automatikusan megjelenik a saját MuPAD munkalapunkban.? 2. A MuPAD, mint számológép A kiszámítani kívánt kifejezést a zsebszámológépeknél megszokott módon kell bevinni. Természetes számokkal és közönséges tört alakban bevitt racionális számokkal az eredmény egzakt, vagy ha a Mupad az egzakt eredményt nem képes megadni, akkor visszakapjuk az inputot. A tizedes törteket tizedes ponttal kell bevinni. >> (1 + (5/2*3))/(1/7 + 7/9)^2 67473/6728 Matematikai konstansok: PI, E, I. >> sin(pi/9) PI, E, I sin(1/9*pi) Az eredményt most azért nem kaptuk meg, mert az egzakt értéket a MuPAD nem tudta. A közelítő értéket természetesen ilyenkor is megkaphatjuk: >> float(sin(pi/9)) float 0.3420201433 >> arcsin(-1) 1/2 π Ha nem definiált értéket akarunk kiszámítani, akkor hibaüzenetet kapunk: >> tan(pi/2) Error: singularity [tan] Faktoriális: >> 100!! 2

Az előbbi szám hány jegyű? >> length(100!) length Négyzetgyök: >> sqrt(24) sqrt 2 6 Hasonlítsuk össze: >> sqrt(24.0) 4.898979486>> a:=e Abszolút érték: >> abs(3+4*i) abs, I 5 Értékadás. Az a változónak az e(= exp(1)) értéket adjuk. Az értékadás jele :=. := >> a:=e: Ezután a az előbbi értéket jelenti: >> ln(a) 1 A változó értékét a delete paranccsal törölhetjük: delete >> delete(a) >> ln(a) ln(a) 1. Feladat. Írassuk ki a nevezetes szögek különféle szögfüggvényeinek pontos és közelítő értékét! Írassuk ki π/8 szögfüggvényeit is. 2. Feladat. Számítsuk ki 101 közelítő értékét 35 értékes jegy pontossággal! Az értékes jegyek számának beállításához olvassuk el a float helpjében a példákat. (Segítség a margón.) A feladat elvégzése után állítsuk vissza az értékes jegyek számát az alapértelmezésre. (delete(digits).) DIGITS 3

3. Adattípusok A MuPAD fontos adattípusai a (kifejezés)sorozat, a lista és a halmaz. A kifejezéssorozat MuPAD objektumok vesszővel elválasztott felsorolása: >> sorozat:=pi/2,pi/3,pi/4,pi/6 (A bal oldalon szereplő sorozat egy változó!) Egy függvényt alkalmazhatunk a sorozat minden elemére: >> sin(x)$ x in sorozat $ A dollár jel a MuPAD sorozatképző operátora. Ismerjük meg a használatát! A négyzetszámok 1-től 10-ig: >> i^2$i=1..10 Az előbbi sorozatot most eljelöljük F -nek: >> F:=i^2$i=1..10 A sorozat elemeire az elem sorszámával hivatkozhatunk: >> F[5] A sorozatból törölhetünk elemet: >> delete(f[5]): F A sorozat legnagyobb, legkisebb eleme és elemszáma: >> max(f),min(f),nops(f) max, min, nops A sorozat elemeinek összeadása: _plus(f) _plus 3. Feladat. Egy mértani sorozat első eleme 2, kvóciense 3. Írassuk ki a sorozat első 5 elemét a sorozatképző operátorral. Adjuk össze a sorozat elemeit. 4. Feladat. Írassuk ki sin(k π 4 ) értékét k=0-tól 8-ig a sorozatképző operátort használva! 5. Feladat. Adjuk össze a köbszámokat 1-től a 10. köbszámig! A kifejezéssorozat formálisan abban különbözik a listától, hogy a MuPAD elemek vesszővel ellátott felsorolását még szögletes zárójelbe tesszük. >> sorozat:=i^2$i=1..10:lista:=[sorozat] A lista elemeire hasonlóan hivatkozhatunk, mint a sorozat elemeire, ugyanúgy adjuk meg a sorozat elemszámát is. (Próbáljuk ki.) A contains paranccsal eldönthetjük, hogy egy elem benne van-e egy sorozatban, s ha igen, hányadik eleme annak: contains >> contains(lista,23) Az eredmény 0 lesz, ami azt jelenti, hogy a 23 az előbbi sorozatban nincs benne. A map parancs segítségével egy függvény értékeit számíthatjuk ki egy listán: map 4

>> map(lista,sqrt) Az op parancs a listát kifejezéssorozattá konvertálja: >> op(lista) op A halmazokat a MuPAD a szó matematikai értelmében kezeli. 6. Feladat. Keressük meg a MuPAD beépített Tutorial Sets fejezetét (4.7). Hajtsuk végre a példákat (kattintsunk a promt jelekre), magyarázzuk meg az eredményeket. 4. Elemi számelmélet div, ifactor, igcd, ilcm, isprime, ithprime, nextprime 7. Feladat. Keressük ki az előbbi parancsokat a helpben. Tanulmányozzuk a példákat! (Végezzük el a behelyettesítést.) Használatukról készítsünk rövid feljegyzést. A MuPAD indításakor nem minden parancs áll rögtön a rendelkezésünkre. Bizonyos parancsok úgynevezett könyvtárakban vannak. Ilyen könyvtár például a numlib, amely különböző számelméleti függvényeket tartalmaz. A könyvtárban elhelyezett parancsokról az alábbiak szerint kaphatunk információt: >> info(numlib)?numlib -re bejön a Tutorial megfelelő oldala. A könyvtár által tartalmazott parancsok elérése: >> numlib::numdivisors(6746328388800) :: Azaz könyvtárnév::parancs módon. numdivisors(n) megadja n pozitív osztóinak számát. 8. Feladat. Adjuk meg az előbbi szám prímosztóit. primedivisors 5. Algebrai kifejezések Helyettesítsünk be x = 4-et az f = 3 x 2 + 8 kifejezésbe! >> f:=3*x^2+8; subs(f,x=4) subs A subs parancs kifejezésekkel is működik. Helyettesítsünk az alőbbi f kifejezésbe x = 5 + 2 u-t: >> f1:=subs(f,x=5+2*u) Az expand paranccsal felbonthatjuk a zárójelet: >> expand(f1) A subs paranccsal egyenletekbe is behelyettesíthetünk: >> eq:=x^3-5*x^2+7*x-12=0;subs(eq,x=4) expand 9. Feladat. Helyettesítsük be 10-től 10-ig az egész számokat az x 3 5x 2 + 7x 12 algebrai kifejezésbe. (Használjuk a sorozatképző operátort!) 5

Polinomok szorzattá alakítására a factor parancsot használhatjuk: factor 10. Feladat. Alakítsuk szorzattá az előző feladatban szereplő harmadfokú polinomot! Ha a factor parancsot törtkifejezésre alkalmazzuk, akkor a számláló és a nevező szorzattá alakítása után a MuPAD még a lehetséges helyettesítéseket is elvégzi: >> A:=x^10-1; B:=x^2-1; factor(a); factor(b); factor(a/b) A simplify paranccsal nagyon rugalmasan tudunk kifejezéseket egyszerűbb alakra hozni. Például az előző tört esetében: simplify >> simplify(a/b) 6. Egyenletek A solve parancs a Maple-hoz nagyon hasonlóan, ugyanakkor különbségekkel működik. solve 11. Feladat. Vessük össze a Maple és a MuPAD eredményeit az alábbi egyenletek megoldásában: x 3 11x 2 + 7x + 147 = 0, sin(x) = 1/2, x 3 11x 2 + 7x + 10 = 0. Az utóbbi egyenletnél a MuPAD látszólag nem ad eredményt. Tegyük azonban a következőt: >> N:=solve(x^3-11*x^2+7*x+10=0,x): float(n) Numerikus megoldás keresésénél a numeric::solve parancsot kell alkalmazni. numeric::solve 12. Feladat. Oldjuk meg numerikusan a sin(x) = 0.3x egyenletet. Útmutatás: Az intervallumok kereséséhez a plotfunc2d paranccsal először kirajzoljuk a függvény grafikonját: plotfunc2d >> plotfunc2d(sin(x),0.3*x, x=0..5) 7. Határérték Sorozat határértéke Számítsuk ki a lim n ( n n 1) határértéket! >> limit(sqrt(n)-sqrt(n-1),n=infinity) limit 13. Feladat. Számítsuk ki MuPAD-dal a következő határértékeket: lim n 1 n n! A következő határértékkel első nekifutásra a MuPAD nem boldogul: n k lim n a n. (Próbáljuk ki!) A paraméterekre feltételeket kell adnunk: >> assume(k,type::posint):assume(a>1): 6

Ezek után: >> limit(n^k/a^n,n=infinity) Tisztítsuk a változókat! 14. Feladat. Számítsuk ki lim n n q n értékét, ha 0 < q < 1. Útmutatás. A q-ra előírt feltétel: >> assume(q<1),assume(-1<q,_and) 15. Feladat. Állítsuk elő a mértani sor összegképletét! Számítsuk ki: n i=1 1 i(i + 1) és 1 i(i + 1) értékét! i=1 >> sum(1/(i*(i+1)),i=1..n), limit(sum(1/(i*(i+1)),i=1..n),n=infinity) Vagy az utóbbi határérték röviden: >> sum(1/(i*(i+1)),i=1..infinity) 16. Feladat. Számítsuk ki: lim n [ 1 2 + 3 2 2 + 2n 1 2 n Függvény határértéke. Határozzuk meg az f: R \ {3} R, f(x) = x + 3 x 3 függvény határértékét az értelmezési tartomány határpontjaiban. Figyeljük meg a függvény definícióját, mely a Maple-höz hasonló: >> f:=x->(x+3)/(x-3) A szemléletesség kedvéért vázoljuk a függvényt: >> plotfunc2d(f(x),x=-1..7) >> limit(f(x),x=-infinity); limit(f(x),x=3,left);limit(f(x),x=3, Right); limit(f(x),x=infinity) Természetesen x = 3-ra: >> limit(f(x),x=3) undefined Felsőbb éveseknek: az előbbi függvény teljes függvényvizsgálata. (Magyarázzunk meg és értelmezzünk minden lépést!) A függvény első és második deriváltja: >> f1:=diff(f,x); f2:=diff(f,x$2); Növekedés fogyás: ]. 7

>> solve(f1>0,x);solve(f1<0,x) Lokális szélsőérték: >> X:=solve(f1=0,x); >> subs(f2,x=x[1]); subs(f2,x=x[2]) >> subs(f,x=x[1]); subs(f,x=x[2]) Görbület: >> solve(f2>0,x);solve(f2<0,x) Vázoljuk a grafikont! (Először magunk, majd:) >> plotfunc2d(f,x=-4..4,y=-3..3) 17. Feladat. Számítsuk ki a következő függvények határértékét az értelmezési tartomány határpontjaiban. Készítsünk a függvényekről vázlatot is. f: R \ {0} R, f(x) = g: R \ {0} R, g(x) = x2 1 x 3 Számítsuk ki a lim x 0 sin(1/x) határértéket! >> limit(sin(1/x),x=0) [-1, 1] 1 1 + exp(1/x) ; A függvény a 0 bármely környezetében a [ 1, 1] intervallumból minden értéket felvesz. Rajzoljuk meg a grafikont: >> plotfunc2d(sin(1/x),x=-1.5..1.5,grid=5000) 8. Mátrixok, determinánsok, lineáris egyenletrendszerek Mátrixok A mátrixok megadása lehetséges a sorvektorokkal: >> A := matrix([[1, 5], [2, 3]]) ( 1 5 2 3 ) Hivatkozás egy mátrixelemre: 8

>> A[2,1] 2 Megadhatjuk az i-edik sor j-edik elemét függvénnyel: >> matrix(2, 2, (i, j) -> 1/(i+j)) ( 1/2 1/3 1/3 1/4 ) 18. Feladat. Állítsuk elő a 3 3 típusú egységmátrixot az előbbi módon. Útmutatás: A Kronecker delta definíciója: >> f:=(i,j)->(if i=j then 1 else 0 end_if) Diagonális mátrixot a főátlóban lévő elemek felsorolásával is megadhatunk: >> matrix(3, 3, [1, 2, 3], Diagonal) 1 0 0 0 2 0 0 0 3 Állítsuk elő a 2 2 típusú forgatási mátrixot: >> A:=matrix([[cos(x),-sin(x)],[sin(x),cos(x)]]) ( cos(x) sin(x) ) sin(x) cos(x) A subs operátor közvetlen használata nem ad megfelelő eredményt: >> B:=subs(A,x=PI/2) ( cos(0) sin(0) ) sin(0) cos(0) Igazi behelyettesítést a következő módon kapunk: >> map(b,eval) ( 0 1 1 0 ) 9

A mátrixműveletek operátorai a számok műveleti operátoraival megegyeznek. 19. Feladat. Képezzük a tér z tengely körüli π/3 szögű elforgatásának mátrixát! Forgassuk el az (1, 1, 1) t vektort a z tengely körül π/3 szöggel. Képezzük az előző mátrix inverzét, négyzetét! 20. Feladat. Tanulmányozzuk a linalg könyvtár helpjében az alábbi parancsokat linalg::det, linalg::matdim, linalg::rank, linalg::gausselim 21. Feladat. Oldjuk meg t-re az alábbi egyenletet: 1 2 3 4 5 t 2 2 3 4 2 3 5 t 2 1 = 0. 2 3 4 1 Lineáris egyenletrendszerek megoldása Oldjuk meg az alábbi lineáris egyenletrendszert: x + y + 2z + w = 1 3x 4y + z + w = 2 4x 3y + 3z + 2w = 3 Az alapmátrix: >> A:=matrix([[1,1,2,1],[3,-4,1,1],[4,-3,3,2]]) A jobb oldali konstansok: >> B:=matrix(3,1,[1,2,3]) A kibővített alapmátrix: >> C:=linalg::concatMatrix(A,B) A megoldhatóság vizsgálata: >> linalg::rank(a), linalg::rank(c) Mindkét mátrix rangja 2, tehát az egyenletrendszer megoldható, s a megoldástér két dimenziós. A megoldás: >> sol:=linalg::matlinsolve(a,b) A behelyettesítés eredménye egy vektor és egy vektorpár. (Nem írom le, mert Murphy szerint úgysem azt fogja kapni, amit én.) A vektor a lineáris egyenletrendszer egy partikuláris megoldása: >> A*sol[1] A B-t kellett megkapnia. A másik két vektor az iránytér bázisát adja, azaz ezek a vektorok az alapmátrixszal képezett homogén lineáris egyenletrendszer megoldásai: >> A*sol[2][1], A*sol[2][1] Mindkétszer nullvektort kapott. Tehát egy tetszőleges megoldás: mo:=sol[1]+lambda*sol[2][1]+mu*sol[2][2], A*mo 22. Feladat. Oldjuk meg a Maple-ös segédanyagban szereplő lineáris egyenletrendszereket! 10

9. MuPAD programozás 9.1. Ciklusok A hosszú input sorok) gépelésénél a sort Shift Enter-rel törjük. (Az Enter és a Shift Enter szerepét a View menüpontban fel lehet cserélni. A ciklusok szervezésének szokásos módjai a MuPAD-ban is lehetségesek: for ciklus >> for i from 101 to 110 do print(i=ifactor(i)) end_for 23. Feladat. Szervezzük meg az előbbi ciklust a sorozatképző operátorral is ($). 24. Feladat. Tanulmányozzuk a for használatát:?for. while ciklus Emlékeztetőül, a while ciklusban a ciklusmag végrehajtása előtt vizsgáljuk a leállási feltételt. >> i:=1;while i*i<50 do print(i*i);i:=i+1; end_while: 9.2. Feltételvizsgálat Az if then else konstrukciót egy szakaszonként definiált függvény megadásán keresztül illusztráljuk: >> f:=x->(if x<0 then x^2; else if x=0 then 1; else x end_if end_if) Helyettesítsünk be különböző számértékeket, ábrázoljuk a függvényt. 9.3. Eljárások Hasonlítsuk össz az alábbi half eljárást az analóg Maple eljárással: >> Half:=proc(n)/*comment: n/2*/ begin float(n/2) end_proc; proc Half(n)... end >> Half(2/3) 0.3333333333 Az eljárás kezdő sora megegyezik a Maple eljáráséval: megadjuk az eljárás nevét, maga az eljárás a proc és az end_proc közé kerül. A MuPAD parancsok sorozata itt a begin és az end_proc közé kerül 11

A változó típusa Kérjünk információt a változók MuPAD álatl ismert típusairól:?type Módosítsuk az előző eljárást úgy, hogy numerikus n változónál írja ki n/2 numerikus értékét, egyébként pedig formálisan n/2-t. >> Half:=proc(n)/*comment: n/2*/ begin if testtype(x,type::numeric) then return(float(x/2)) else print(n/2) end_if end_proc; (Próbáljuk ki az eljárásunkat!) Rekurzió A rekurzió szervezése is a Maple-höz hasonló. Figyeljük meg az remember opció helyét a következő (már jól ismert) példában: >> Fibo:=proc(n) option remember; begin if n<2 then n; else Fibo(n-2)+Fibo(n-1); end_if end_proc 25. Feladat. írassuk ki az első 30 Fibonacci számot! (Próbáljuk ki a remember opció nélkül is.) 26. Feladat. Írjunk eljárást az n n típusú egységmátrix definiálására. 27. Feladat. Írjunk eljárást, mely egy véletlen n n típusú invertálható mátrixot generál. 28. Feladat. Írjunk eljárást, mely egy listából olyan diagonális mátrixot képez, amely főátlója a lista elemeiből áll. 29. Feladat. Írjunk eljárást, mely az (a 1, a 2,..., a n elemek által generált Vandermond determinánst adja meg, azaz a következő determinánst: 1 a 1 a 2 1 a n 1 1 1 a 2 a 2 2 a n 1 2 1 a n a 2 n a n 1 n 12