Informatika1-2018/Gyakorlat10
Előző gyakorlat - Fel - Következő gyakorlat
Tartalomjegyzék |
A program használata
Az intézeti sage szerver
Fogadjuk el a tanúsítványt, annak ellenére is, hogy a böngésző nem tanácsolja!
Publikus
Otthonról
Telepíthetjük a saját gépünkre: http://www.sagemath.org/download.html
parancssorból
A leibniz-en írjuk be parancssorba, hogy sage, ekkor megnyílik a sage interactive shell.
Ide már írhatunk be sage parancsokat, például:
23^19
Help
online dokumentáció: https://doc.sagemath.org/html/en/reference/
Feladatok
- Számold ki 2018 négyzetgyökét!
- Számold ki 2018 negyedik gyökét!
- Számold ki 2018 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.basis?
Le is futtathatjuk a parancsot:
V.basis()
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 egy cetlin megkaptatok.
- Jobb fent a Settings menüben változtassuk meg a jelszavunkat.
- 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álkozások
- 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.
- A cella legutolsó művelete íródik ki, ha nem csak a legutolsót akarjuk kiírni, akkor használjunk print-et.
- 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.
Szimbolikus változók
x = var('x') y = var('y') x^2 + y^2
Egy változó lehet numerikus (konkrét érték) és szimbolikus is.
y = 2 x^2 + y^2
Függvények
Ha x egy változó, akkor egyszerűen
f(x) = x^2 print(f(3)) print(f(y))
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?
Szimbolikus számítások
- Igaz-e, hogy egy szám négyzetének gyöke maga a szám?
- Használjuk a bool függvényt, ami az igazságértékét meghatározza egy kifejezésnek
- valós számokra igaz? Pozitív számokra? (assume)
- Lássuk be, hogy (x-y)(x+y) == x^2-y^2
- Lássuk be, hogy (-1)^(2n) == 1, de persze csak ha n egész!
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. Egy változós függvény egyetlen változójában keres megoldást.
- 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 (limit, de az n-nek változónak kell lennie)
- 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: circle((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!).