Informatika1-2019/Gyakorlat11

A MathWikiből
A lap korábbi változatát látod, amilyen Gaebor (vitalap | szerkesztései) 2019. november 27., 16:52-kor történt szerkesztése után volt.
(eltér) ←Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

Előző gyakorlat - Fel - Következő gyakorlat

Tartalomjegyzék

A program használata

Az intézeti sage szerver

https://jupyter.math.bme.hu:8888/

Itt New -> SageMath 8.9

Publikus

CoCalc

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

  1. Számold ki 2018 négyzetgyökét!
  2. Számold ki 2018 negyedik gyökét!
  3. Számold ki 2018 hatodik hatványát!
  4. 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

  1. 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.
  2. Hányszor van meg D Y-ban? Legyen az érték a b változóhoz rendelve.
  3. Legyen r a születési évednek a hónappal vett maradéka.
  4. Mennyi most b és r különbsége?

Szimbolikus számítások

  1. Igaz-e, hogy egy szám négyzetének gyöke maga a szám?
    1. Használjuk a bool függvényt, ami az igazságértékét meghatározza egy kifejezésnek
    2. valós számokra igaz? Pozitív számokra? (assume)
  2. Lássuk be, hogy (x-y)(x+y) == x^2-y^2
  3. Lássuk be, hogy (-1)^(2n) == 1, de persze csak ha n egész!

Beépített Sage függvények, metódusok

  1. Prímszám-e 2011? (használd az is_prime() függvényt)
  2. Prímedik napján születtél-e a hónapnak? (használd a D változót!)
  3. 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!)
  4. 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.
  5. Oldd meg a fenti egyenletet szimbolikusan is (fejezd ki x-et b, D, M és r-rel)!
  6. Deriváld le az sin(x)cos(x)x^2 függvényt.
  7. Integráld le az elõzõ függvényt.
  8. 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)
  9. Legyen f a következő függvény: f = (x+2*y)^3
  10. 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)
  11. Bontsd összeggé f-et! (expand())
  12. 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)

  1. Rajzolj egy cosinus-görbét 0-tól 4*pi -ig!
  2. Rajzold ki az (x-2)^2 + 3 másodfokú polinomot -2-től 4-ig, zöld színnel!
  3. Rajzold az előző mellé (a show függvénnyel) az x^3-3*x + 6 harmadfokú polinomot pirossal!
  4. 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!).

Előző gyakorlat - Fel - Következő gyakorlat

Személyes eszközök