Informatika1-2019/Gyakorlat11

A MathWikiből
(Változatok közti eltérés)
a (Beépített Sage függvények, metódusok)
a (Beépített Sage függvények, metódusok)
117. sor: 117. sor:
 
=== Beépített Sage függvények, metódusok ===
 
=== Beépített Sage függvények, metódusok ===
  
# Prímszám-e 2011? (használd az ''is_prime()'' függvényt)
+
# Prímszám-e 2019? (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!)
 
# Prímedik napján születtél-e a hónapnak? (használd a D változót!)
 
# Oldd meg a <math>Dx^2 + Mx - br = 0</math> egyenletet a ''solve(fv, változó)'' függvény segítségével!
 
# Oldd meg a <math>Dx^2 + Mx - br = 0</math> egyenletet a ''solve(fv, változó)'' függvény segítségével!

A lap 2019. december 2., 15:32-kori változata

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

Tartalomjegyzék

A program használata

Az intézeti szerver

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

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/

Alternatíva

A Sage maga a Mathematica program egy alternatívája. A Mathematica program Stephen Wolfram szüleménye, 1988-ből. Azóta is folyamatosan fejlesztik és fejlődik. Ez egy fizetős program, de a matematikus hallgatók kaphatnak hozzáférést az intézet jóvoltából.

Telepíthetjük egy aktivációs kulccsal. Letöltés: http://math.bme.hu/mathematica

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: https://jupyter.math.bme.hu:8888/
  • Itt lépjünk be a leibniz-es felhasználónevünkkel és a jelszóval
  • New -> SageMath 8.9 gombokkal lehet új sage notebook-ot létrehozni
  • A bal-fenti sarokban, a logó mellett lehet átnevezni a notebbok-ot (kezdetben Untitled lesz a neve)

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 (xy)(x + y) = x2y2
  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 2019? (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 Dx2 + Mxbr = 0 egyenletet a solve(fv, változó) függvény segítségével!
    • x szimbolikus változó kell legyen!
    • fv lehet függvény, kifejezés vagy egyenlet
  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)\cdot\cos(x)\cdot x^2 függvényt.
  7. Integráld le az elõzõ függvényt.
  8. Számold ki az alábbi határértéket: \lim_{n\to\infty}\bigg(1 + \frac{3}{n}\bigg)^{4n} (limit, de az n-nek változónak kell lennie)
  9. Legyen f a következő függvény: f(x,y) = (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)\cdot\cos(x)\cdot 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 -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 x3 − 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