Informatika1-2015/OsszefoglaloZH3
(→Függvények hattatása) |
(→Függvények hattatása) |
||
124. sor: | 124. sor: | ||
=== Függvények hattatása === | === Függvények hattatása === | ||
− | + | * A függvényhívás jele a '''szögletes zárójel'''! <tt>Sin[x]</tt> | |
− | + | * Postfix jelöléssel: <tt>x//Sin</tt>. Azt mondhatjuk: ''x-re hattatom a szinuszt'' | |
− | + | * Prefix jelöléssel: <tt>Sin@x</tt>. Más szóval: ''szinuszt hattatom x-re'' | |
− | + | * A dupla hattatás argumentumául veszi a lista elemeit: | |
f @@ {x,y,z} === f[x,y,z] | f @@ {x,y,z} === f[x,y,z] | ||
Más mint az alábbi: | Más mint az alábbi: | ||
− | f @ {x,y,z} | + | f @ {x,y,z} |
+ | ami | ||
+ | f[{x,y,z}] | ||
Például vegyük a <tt>Sin</tt> függvényt, ekkor az alábbiak megegyeznek: | Például vegyük a <tt>Sin</tt> függvényt, ekkor az alábbiak megegyeznek: | ||
Sin[Pi] | Sin[Pi] | ||
− | Pi//Sin | + | Pi // Sin |
− | Sin@Pi | + | Sin @ Pi |
− | Sin@@{Pi} | + | Sin @@ {Pi} |
Az összeadásra: | Az összeadásra: | ||
x+y | x+y | ||
Plus[x,y] | Plus[x,y] | ||
− | Plus@@{x,y} | + | Plus @@ {x,y} |
− | {x,y}//Total | + | {x,y} // Total |
Total[{x,y}] | Total[{x,y}] | ||
− | Listára elemenként hattathatunk függvényt | + | Listára elemenként hattathatunk függvényt a <tt>Map</tt> függvénnyel vagy a <tt>/@</tt> szimbólummal. |
+ | f/@{x,y,z} === {f[x],f[y],g[z]} | ||
+ | Példák | ||
Table[Cos[x], {x,0,Pi,Pi/6}] | Table[Cos[x], {x,0,Pi,Pi/6}] | ||
Cos /@ Table[x, {x,0,Pi,Pi/6}] | Cos /@ Table[x, {x,0,Pi,Pi/6}] | ||
Cos /@ Range[0,Pi,Pi/6] | Cos /@ Range[0,Pi,Pi/6] | ||
Cos[Range[0,Pi,Pi/6]] | Cos[Range[0,Pi,Pi/6]] |
A lap 2015. december 7., 21:50-kori változata
Tartalomjegyzék |
Octave
Alapvető műveletek és függvények
2-3 2*3 2/3 floor(2/3) mod(2,3) 2^3 sqrt(2) log(2) exp(1) pi cos(pi/2)
Octave-ban egy szám mindaddig valós (lebegőpontosan ábrázolva), amíg komplexnek nem bizonyul:
sqrt(2) sqrt(-2)
Mátrixok
Sorvektor:
[1, 2, 3, 4] [1 2 3 4]
Oszlopvektor:
[1;2;3;4]
Mátrix:
[1 2; 3 4] [1, 2; 3, 4]
Speciális mátrixok:
- zeros: csupa 0
- ones: csupa 1
- eye: diagonálisban 1, máshol 0
- diag: négyzetes diagonális mátrix, megadott főátlóval
zeros(2,3) eye(2,3) ones(3,1) diag([1,2,3,4])
Tartományokat adhatunk meg gyorsan, pl, 1, 2, 3, 4, 5:
1:5
Vagy más lépésközzel (akár negatívval), pl 1, 1.2, 1.4, 1.6, 1.8, 2:
1:0.2:2
Ezeket lehet használni mátrixok létrehozásakor, pl:
diag(1:4)
Vehetjük mátrixok transzponáltját:
[1 2; 3 4]'
összegét:
eye(2,2)+ones(2,2)
szorzatát:
[1 2; 3 4]*[1 2; 3 4]
hatványát:
[1 2; 3 4]^2
Ezek a műveletek mátrixokon hatnak. De végezhetjük a műveleteket tagonként is:
[1 2; 3 4].^2
A legtöbb művelet elé, ha pontot rakunk akkor tagonként hat.
Lekérhetünk és módosíthatjuk egy adott mátrix valamelyik elemét:
M = [1 2; 5 4] M(2,1) = 3
Ez így a második sor első elemét módosítja.
Változók
Változókban tárolhatunk adatokat, például:
a = 5
de akár mátrixokat is tárolhatunk:
M = [1 2; 3 4]
Változók értéke felülírható, és változók használhatók értékadásnál is, például:
M = [1; 1] a = 4 M = [a 2; 4 a]
Függvények
Függvényt írhatunk Octave-ban:
function fx = f(x) fx=1/(x^2+1); endfunction
Majd így hívhatjuk meg:
f(3)
ennek az eredménye pl 0.1 lesz.
Sage
Wolfram Mathematica
Listák
Listákat kapcsos zárójellel adunk meg
{1,2,3,4}
Mátrixokat listák listájaként:
{{1,2}, {3,4}}
De listában bármi lehet:
{1,x,{E,Pi}, Function[x,x^x]}
Hasznos parancsok
- Range
In[1]:= Range[5] Out[1]= {1,2,3,4,5} In[2]:= Range[2,6] Out[2]= {2,3,4,5,6} In[3]:= Range[2, 5, 0.5] Out[3]= {2., 2.5, 3., 3.5, 4., 4.5, 5.}
- Table
Range-hez hasonlóan
In[1]:= Table[i,{i,1,5}] Out[1]= {1,2,3,4,5}
A Table hasába bármilyen kifejezést írhatunk
In[1]:= Table[x^i,{i,1,5}] Out[1]= {x,x^2,x^3,x^4,x^5}
Az elemek explicit felsorolásával
In[1]:= Table[f'[x],{f,{Sin, Cos, Log}}] Out[1]= {Cos[x], -Sin[x], 1/x}
Több dimenziós Table, például modulo három szorzótábla:
Table[Mod[i j, 3], {i, 0, 2}, {j, 0, 2}] // MatrixForm
Függvények hattatása
- A függvényhívás jele a szögletes zárójel! Sin[x]
- Postfix jelöléssel: x//Sin. Azt mondhatjuk: x-re hattatom a szinuszt
- Prefix jelöléssel: Sin@x. Más szóval: szinuszt hattatom x-re
- A dupla hattatás argumentumául veszi a lista elemeit:
f @@ {x,y,z} === f[x,y,z]
Más mint az alábbi:
f @ {x,y,z}
ami
f[{x,y,z}]
Például vegyük a Sin függvényt, ekkor az alábbiak megegyeznek:
Sin[Pi] Pi // Sin Sin @ Pi Sin @@ {Pi}
Az összeadásra:
x+y Plus[x,y] Plus @@ {x,y} {x,y} // Total Total[{x,y}]
Listára elemenként hattathatunk függvényt a Map függvénnyel vagy a /@ szimbólummal.
f/@{x,y,z} === {f[x],f[y],g[z]}
Példák
Table[Cos[x], {x,0,Pi,Pi/6}] Cos /@ Table[x, {x,0,Pi,Pi/6}] Cos /@ Range[0,Pi,Pi/6] Cos[Range[0,Pi,Pi/6]]