18. diel - Úvod do matematických funkcií v PHP
V minulej lekcii, Fonetickej funkcie a kódovanie HTML entít v PHP , sme si ďalšie užitočné funkcie pre prácu s textovými reťazcami a prevod textového reťazca na HTML entity a naopak.
V tejto lekcii sa uvedieme do matematických funkcií v PHP a už v tejto lekcii si niektoré dôkladne vysvetlíme. Dozvieme sa tiež, ako také funkcie v PHP zapisovať, aké hodnoty alebo typ hodnôt vracia a na čo si dať pozor.
Matematické funkcie
Matematické funkcie nás sprevádza už od základnej školy, kde nám páni a pani učiteľky zbehlí v riešení matematických problémov vysvetľovali definíciu základných goniometrických funkcií. Zoznámili sme sa s novými pojmami ako sínus, kosínus, tangens, Cotangens a učili sa ich aplikovať v rôznych matematických úlohách (predsieňovej / cosinova veta atp.) Väčšinou za pomocou kalkulačky. Človek v oblasti IT ako lenivý tvor si za každú cenu chce uľahčiť prácu a miesto vyťukávanie sínusu a Cosina na kalkulačke si napíše program v PHP pre ich výpočet. Poďme si ukázať niektoré užitočné matematické funkcie v PHP.
sin()
Funkcia sin()
v PHP reprezentujúci v matematike funkcii sinus
nám zo zadanej hodnoty v radiánoch vráti hodnotu sínusu v
dátovom typu float
. Funkcia prijíma jeden parameter, ktorým je
hodnota v radiánoch. Hodnotu v stupňoch na radiány môžeme previesť pomocou
funkcie deg2rad()
(z anglickej skratky degrees to
RADIANS), kde do jej parametra zadáme hodnotu v stupňoch, ale bez
znaku stupňa °
. Návratovú hodnotu potom vložíme do funkcie
sin()
. Ukážme si jednoduchý príklad:
$radians = deg2rad(90); // převede úhel do radiánové hodnoty, která je jako parametr. $sinus = sin($radians); // vrátí hodnotu sinu ze zadané hodnoty v radiánech echo $sinus;
Na výstup dostaneme hodnotu sínusu 1
, čo je validný hodnota
pre sinus 90 °.
cos()
Funkcia cos()
nám zo zadanej hodnoty v
radiánoch vráti hodnotu Cosina v dátovom typu float
.
Funkcie rovnako ako sin()
prijíma jeden parameter, ktorým je
hodnota v radiánoch. Ukážme si príklad:
for ($i = 0; $i < 8; $i++) { $deg = rand(10, 300); // vygeneruje náhodné celé číslo od 10 do 300 (úhel) $rad = deg2rad($deg); // převede úhel do radiánové hodnoty, která je jako parametr. $output = cos($rad); // funkce, co vypočítává cosinus echo "cos($deg °) = $output <br />"; }
Na výstup dostaneme celkom 8 hodnôt funkcie cosinus, napríklad tieto:
A ako iste vieme, existujú ďalšie goniometrické funkcie, ktoré PHP podporuje. Poďme si ich ukázať.
tan()
Funkcia tan()
reprezentuje v PHP funkcii tangens takú, ako ju
poznáme. Do jediného parametra tejto funkcie budeme pridávať hodnoty v
radiánoch, ktoré zo stupňoch dostaneme pomocou funkcie
deg2rad()
, ako už bolo spomenuté. Nasleduje príklad:
for ($i = 0; $i <= 5; $i++) { $deg = rand(10, 300); //vygeneruje náhodné celé číslo od 10 do 300 (úhel) $rad = deg2rad($deg); //převede úhel do radiánové hodnoty, která je jako parametr. $output = tan($rad);//funkce co vypočítává tangens echo "tan($deg °) = $output <br />"; }
Výstup takéhoto programu sú hodnoty tangens z náhodne vygenerovaných uhlov:
cotangens()?
Funkcia Cotangens v PHP neexistuje, ak by sme aj tak chceli Cotangens
spočítať, dokážeme to za pomocou matematiky a vytvorením funkcie vlastné
alebo vieme, že Cotangens sa dá zapísať ako 1/tan
:
$deg = rand(10, 300); // vygeneruje náhodné celé číslo od 10 do 300 (úhel) $rad = deg2rad($deg); // převede úhel do radiánové hodnoty, která je jako parametr. $tan = tan($rad); // funkce, co vypočítává tangens $cotg = 1/$tan; // pomocí funkce tangens vypočítáme cotangens echo $cotg;
Na výstup potom dostaneme hodnotu Cotangens náhodného uhla (178 ° u výstupe nižšie):
rand()
Keďže sme si v ukážkach základných goniometrických funkcií definovali
náhodný uhol pomocou funkcie rand()
, tak si ju teraz poďme
vysvetliť. Funkcia rand()
nám vygeneruje náhodné číslo v
zadanom rozmedzí (minimální hodnota, maximální hodnota)
zadanej ako parameter funkcie. Toto sú tiež jediné parametre a funkcie môže
byť volaná i bez nich. Ak nezadáme žiadny parameter, tak minimálna možná
hodnota náhodného čísla bude 0
a maximálnou podľa funkcie
getrandmax()
, ktorá vráti najväčšiu možnú celočíselnú
hodnotu.
Na niektorých platformách (ako napríklad 64-bit
Windows) je maximálna hodnota funkcie
getrandmax()
rovná 2 147 483 647 (2 31
-1), minimálna garantovaná je 32767 (to bývalo maximum na 16-bit systémoch).
Maximálna hodnota sa však odvíja od použitých knižníc jazyka C, v ktorom je PHP naprogramované.
Poďme si ukázať nejaký ten príklad:
echo rand(); echo rand(); echo rand(-10, 30);
Na výstup dostaneme napríklad tieto hodnoty:
Touto úvodnej lekcií sme sa uviedli do problematiky matematických funkcií v PHP. Mnoho ďalších takýchto funkcií si vysvetlíme už v ďalších lekciách.
V ďalšej lekcii, Inverznej goniometrické funkcie v PHP , si vysvetlíme inverzné goniometrické funkcie v PHP.