Informatika1-2015/Gyakorlat10
A MathWikiből
(Változatok közti eltérés)
(Új oldal, tartalma: „= Octave - II = függvények, if, rekurzió, plot”) |
a (→Sage notebook) |
||
(egy szerkesztő 6 közbeeső változata nincs mutatva) | |||
1. sor: | 1. sor: | ||
− | = | + | == Sage parancssorból == |
− | függvények, | + | Írjuk be parancssorba, hogy '''sage''', ekkor megnyílik a sage interactive shell. |
+ | |||
+ | Ide már írhatunk be sage parancsokat, például: | ||
+ | <python> | ||
+ | 23^19 | ||
+ | </python> | ||
+ | |||
+ | === Feladatok === | ||
+ | |||
+ | # Számold ki 2015 négyzetgyökét! | ||
+ | # Számold ki 2015 negyedik gyökét! | ||
+ | # Számold ki 2015 hatodik hatványát! | ||
+ | # Mennyi 123*321-nek a 11-es maradéka? | ||
+ | |||
+ | === Kiegészítés és help === | ||
+ | |||
+ | A sage okosan ki tudja egészíteni a parancsainkat, próbáljuk meg a következõt: | ||
+ | <python> | ||
+ | V = Vec[nyomjunk TAB-ot] | ||
+ | </python> | ||
+ | Ekkor egyrészt kiegészíti Vector-ig, másrészt kiírja a lehetséges parancsokat. Egészítsük ki, hogy a következõt kapjuk: | ||
+ | <python> | ||
+ | V = VectorSpace(QQ,3) | ||
+ | </python> | ||
+ | Ezzel '''V'''-t a racionális test feletti 3 dimenziós vektortérnek definiáltuk. | ||
+ | |||
+ | Írjuk be most, hogy '''V.''' és nyomjunk '''TAB'''-ot. Felsorolja az összes lehetséges mûveletet, amit '''V'''-n tudunk végezni. Ha a parancs végére egy kérdõjelet teszünk, akkor egy rövid leírást is ad róla, hogy mit csinál. Például: | ||
+ | <python> | ||
+ | V.bases? | ||
+ | </python> | ||
+ | Le is futtathatjuk a parancsot: | ||
+ | <python> | ||
+ | V.bases() | ||
+ | </python> | ||
+ | |||
+ | == Sage notebook == | ||
+ | |||
+ | * Menjünk a sage notebook oldalára: [http://sage.math.bme.hu/ notebook] | ||
+ | * Itt lépjünk be a felhasználónevünkkel és a jelszóval amit emailben kaptatok. | ||
+ | |||
+ | * Jobb fent a '''Settings''' menüben változtassuk meg a jelszavunkat (lehetõleg ne az legyen, mint a leibniz-es password). | ||
+ | |||
+ | * Ha újra bejelentkeztünk akkor bal fent a '''New Worksheet''' linkkel tudunk új munkamenetet indítani. | ||
+ | * Ezt el is kell neveznünk, legyen mondjuk '''Gyak10''' | ||
+ | |||
+ | === Elsõ próbá === | ||
+ | |||
+ | * A cellákba írhatunk sage parancsokat, akár többet is. Próbáljuk is ki: | ||
+ | <python> | ||
+ | A = Matrix([[1, 1], [1, 0]]) | ||
+ | B = Matrix([[-2, 0], [-1, 1]]) | ||
+ | </python> | ||
+ | * '''SHIFT + ENTER'''-el tudjuk lefuttatni a parancsokat. Ekkor sorban futnak le egymás után az egy cellában levõ parancsok. | ||
+ | * Próbáljuk ki, hogy egy új cellába beírjuk, hogy '''A''' vagy '''B''' és lefuttatjuk. Majd próbáljuk ki az '''A*B'''-t. | ||
+ | |||
+ | == Feladatok == | ||
+ | |||
+ | === Változók használata === | ||
+ | |||
+ | # Legyen Y a születési éved, M a születési hónapod, és D a születésed napja, ezekhez vedd fel a három változót. | ||
+ | # Hányszor van meg D Y-ban? Legyen az érték a b változóhoz rendelve. | ||
+ | # Legyen r a születési évednek a hónappal vett maradéka. | ||
+ | # Mennyi most b és r különbsége? | ||
+ | |||
+ | === Beépített Sage függvények, metódusok === | ||
+ | |||
+ | # Prímszám-e 2011? (használd az ''is_prime()'' függvényt) | ||
+ | # Prímedik napján születtél-e a hónapnak? (használd a D változót!) | ||
+ | # Oldd meg a D*x^2 + M*x - b*r = 0 egyenletet a ''solve(fv, változó)'' függvény segítségével! (Ne felejtsd el bevezetni az x-et szimbolikus változóként!) | ||
+ | # Numerikusan is oldd meg az egyenletet! Használd a ''find_root(fv == 0, min, max)'' függvényt. | ||
+ | # Oldd meg a fenti egyenletet szimbolikusan is (fejezd ki x-et b, D, M és r-rel)! | ||
+ | # Deriváld le az sin(x)cos(x)x^2 függvényt. | ||
+ | # Integráld le az elõzõ függvényt. | ||
+ | # Számold ki a határértékét az (1 + 3/n)^4n függvénynek, ha n->oo | ||
+ | # Legyen f a következő függvény: f = (x+2*y)^3 | ||
+ | # Helyettesíts be x helyére 3-at; utána x helyére 4-et és y helyére 2-t. Mennyi az eredmény? ( használd f-nek a ''subs()'' függvényét) | ||
+ | # Bontsd összeggé f-et! (''expand()'') | ||
+ | # Az elõbb tanultakat használva, számold ki az 4. tagig a sin(x)cos(x)x^2 függvény [https://hu.wikipedia.org/wiki/Taylor-sor Taylor-sorát] (deriválni / integrálni, ha '''f''' egy függvény úgy is lehet, hogy '''f.diff(x)''') | ||
+ | |||
+ | === Rajzolás a Sage segítségével (plot) === | ||
+ | |||
+ | # Rajzolj egy cosinus-görbét 0-tól 4*pi -ig! | ||
+ | # Rajzold ki az (x-2)^2 + 3 másodfokú polinomot -2-től 4-ig, zöld színnel! | ||
+ | # Rajzold az előző mellé (a ''show'' függvénnyel) az x^3-3*x + 6 harmadfokú polinomot pirossal! | ||
+ | # Rajzoljunk kört: ''cirlce((középpont koordinátái), sugár, egyebek)''. Az "egyebek" lehetnek: szín, ''aspect_ratio=True'' hogy az x és y tengelyek skálázása azonos legyen (különben ellipszist kaphatunk!). | ||
+ | |||
+ | === Polinomgyûrûk és vektorterek === |
A lap jelenlegi, 2015. november 22., 18:56-kori változata
Tartalomjegyzék |
Sage parancssorból
Írjuk be parancssorba, hogy sage, ekkor megnyílik a sage interactive shell.
Ide már írhatunk be sage parancsokat, például:
23^19
Feladatok
- Számold ki 2015 négyzetgyökét!
- Számold ki 2015 negyedik gyökét!
- Számold ki 2015 hatodik hatványát!
- Mennyi 123*321-nek a 11-es maradéka?
Kiegészítés és help
A sage okosan ki tudja egészíteni a parancsainkat, próbáljuk meg a következõt:
V = Vec[nyomjunk TAB-ot]
Ekkor egyrészt kiegészíti Vector-ig, másrészt kiírja a lehetséges parancsokat. Egészítsük ki, hogy a következõt kapjuk:
V = VectorSpace(QQ,3)
Ezzel V-t a racionális test feletti 3 dimenziós vektortérnek definiáltuk.
Írjuk be most, hogy V. és nyomjunk TAB-ot. Felsorolja az összes lehetséges mûveletet, amit V-n tudunk végezni. Ha a parancs végére egy kérdõjelet teszünk, akkor egy rövid leírást is ad róla, hogy mit csinál. Például:
V.bases?
Le is futtathatjuk a parancsot:
V.bases()
Sage notebook
- Menjünk a sage notebook oldalára: notebook
- Itt lépjünk be a felhasználónevünkkel és a jelszóval amit emailben kaptatok.
- Jobb fent a Settings menüben változtassuk meg a jelszavunkat (lehetõleg ne az legyen, mint a leibniz-es password).
- Ha újra bejelentkeztünk akkor bal fent a New Worksheet linkkel tudunk új munkamenetet indítani.
- Ezt el is kell neveznünk, legyen mondjuk Gyak10
Elsõ próbá
- A cellákba írhatunk sage parancsokat, akár többet is. Próbáljuk is ki:
A = Matrix([[1, 1], [1, 0]]) B = Matrix([[-2, 0], [-1, 1]])
- SHIFT + ENTER-el tudjuk lefuttatni a parancsokat. Ekkor sorban futnak le egymás után az egy cellában levõ parancsok.
- Próbáljuk ki, hogy egy új cellába beírjuk, hogy A vagy B és lefuttatjuk. Majd próbáljuk ki az A*B-t.
Feladatok
Változók használata
- Legyen Y a születési éved, M a születési hónapod, és D a születésed napja, ezekhez vedd fel a három változót.
- Hányszor van meg D Y-ban? Legyen az érték a b változóhoz rendelve.
- Legyen r a születési évednek a hónappal vett maradéka.
- Mennyi most b és r különbsége?
Beépített Sage függvények, metódusok
- Prímszám-e 2011? (használd az is_prime() függvényt)
- Prímedik napján születtél-e a hónapnak? (használd a D változót!)
- Oldd meg a D*x^2 + M*x - b*r = 0 egyenletet a solve(fv, változó) függvény segítségével! (Ne felejtsd el bevezetni az x-et szimbolikus változóként!)
- Numerikusan is oldd meg az egyenletet! Használd a find_root(fv == 0, min, max) függvényt.
- Oldd meg a fenti egyenletet szimbolikusan is (fejezd ki x-et b, D, M és r-rel)!
- Deriváld le az sin(x)cos(x)x^2 függvényt.
- Integráld le az elõzõ függvényt.
- Számold ki a határértékét az (1 + 3/n)^4n függvénynek, ha n->oo
- Legyen f a következő függvény: f = (x+2*y)^3
- Helyettesíts be x helyére 3-at; utána x helyére 4-et és y helyére 2-t. Mennyi az eredmény? ( használd f-nek a subs() függvényét)
- Bontsd összeggé f-et! (expand())
- Az elõbb tanultakat használva, számold ki az 4. tagig a sin(x)cos(x)x^2 függvény Taylor-sorát (deriválni / integrálni, ha f egy függvény úgy is lehet, hogy f.diff(x))
Rajzolás a Sage segítségével (plot)
- Rajzolj egy cosinus-görbét 0-tól 4*pi -ig!
- Rajzold ki az (x-2)^2 + 3 másodfokú polinomot -2-től 4-ig, zöld színnel!
- Rajzold az előző mellé (a show függvénnyel) az x^3-3*x + 6 harmadfokú polinomot pirossal!
- Rajzoljunk kört: cirlce((középpont koordinátái), sugár, egyebek). Az "egyebek" lehetnek: szín, aspect_ratio=True hogy az x és y tengelyek skálázása azonos legyen (különben ellipszist kaphatunk!).