Informatika1-2019/Gyakorlat11

A MathWikiből
(Változatok közti eltérés)
a (A program használata)
112. sor: 112. sor:
 
## Használjuk a '''bool''' függvényt, ami az igazságértékét meghatározza egy kifejezésnek
 
## 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''')
 
## 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 <math>(x-y)(x+y) = x^2-y^2</math>
# Lássuk be, hogy '''(-1)^(2n) == 1''', de persze csak ha '''n''' egész!
+
# Lássuk be, hogy <math>(-1)^{2n} = 1</math>, de persze csak ha '''n''' egész!
  
 
=== Beépített Sage függvények, metódusok ===
 
=== Beépített Sage függvények, metódusok ===
119. sor: 119. sor:
 
# Prímszám-e 2011? (használd az ''is_prime()'' függvényt)
 
# 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!)
 
# 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!)
+
# Oldd meg a <math>Dx^2 + Mx - br = 0</math> 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
 
# 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.
 
# 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)!
 
# 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.
+
# Deriváld le az <math>\sin(x)\cdot\cos(x)\cdot x^2</math> függvényt.
 
# Integráld le az elõzõ 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)
+
# Számold ki az alábbi határértéket: <math>\lim_{n\to\infty}\bigg(1 + \frac{3}{n}\bigg)^{4n}</math>
# Legyen f a következő függvény: f = (x+2*y)^3
+
(''limit'', de az ''n''-nek változónak kell lennie)
 +
# Legyen f a következő függvény: f(x,y) = (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)
 
# 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()'')
 
# 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)''')
+
# Az elõbb tanultakat használva, számold ki az 4. tagig a <math>\sin(x)\cdot\cos(x)\cdot x^2</math> 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) ===
 
=== Rajzolás a Sage segítségével (plot) ===
  
# Rajzolj egy cosinus-görbét 0-tól 4*pi -ig!  
+
# Rajzolj egy cosinus-görbét 0-tól <math>4\pi</math>-ig!  
# Rajzold ki az (x-2)^2 + 3 másodfokú polinomot -2-től 4-ig, zöld színnel!
+
# Rajzold ki az <math>(x-2)^2 + 3</math> 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!
+
# Rajzold az előző mellé (a ''show'' függvénnyel) az <math>x^3-3*x + 6</math> 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!).
 
# 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!).
  
 
[[Informatika1-2019/Gyakorlat10|Előző gyakorlat]] - [[Informatika1-2019#Gyakorlatok|Fel]] - [[Informatika1-2019/Gyakorlat12|Következő gyakorlat]]
 
[[Informatika1-2019/Gyakorlat10|Előző gyakorlat]] - [[Informatika1-2019#Gyakorlatok|Fel]] - [[Informatika1-2019/Gyakorlat12|Következő gyakorlat]]

A lap 2019. december 2., 15:31-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 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 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)
  1. Legyen f a következő függvény: f(x,y) = (x+2*y)^3
  2. 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)
  3. Bontsd összeggé f-et! (expand())
  4. 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