Lekce 18 - Úvod do matematických funkcí v PHP
V předchozím kvízu, Kvíz - Převody, hashování řetězců a fonetické funkce v PHP, jsme si ověřili nabyté zkušenosti z předchozích lekcí.
V této lekci se uvedeme do matematických funkcí v PHP a již v této lekci si některé důkladně vysvětlíme. Dozvíme se také, jak takové funkce v PHP zapisovat, jaké hodnoty nebo typ hodnot vrací a na co si dát pozor.
Matematické funkce
Matematické funkce nás doprovází již od základní školy, kde nám páni a paní učitelky zběhlí v řešení matematických problémů vysvětlovali definici základních goniometrických funkcí. Seznámili jsme se s novými pojmy jako sinus, cosinus, tangens, cotangens a učili se je aplikovat v různých matematických úlohách (sinova/cosinova věta atp.) většinou za pomocí kalkulačky. Člověk v oblasti IT jakožto lenivý tvor si za každou cenu chce usnadnit práci a místo vyťukávání sinu a cosinu na kalkulačce si napíše program v PHP pro jejich výpočet. Pojďme si ukázat některé užitečné matematické funkce v PHP.
sin()
Funkce sin()
v PHP reprezentující v matematice funkci sinus
nám ze zadané hodnoty v radiánech vrátí hodnotu sinu v
datovém typu float
. Funkce přijímá jeden parametr, kterým je
hodnota v radiánech. Hodnotu ve stupních na radiány můžeme převést
pomocí funkce deg2rad()
(z anglické zkratky degrees to
radians), kde do jejího parametru zadáme hodnotu ve stupních, ale
bez znaku stupně °
. Návratovou hodnotu poté vložíme do funkce
sin()
. Ukažme si jednoduchý pří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 sinu 1
, což je validní hodnota
pro sinus 90°.
cos()
Funkce cos()
nám ze zadané hodnoty v
radiánech vrátí hodnotu cosinu v datovém typu float
.
Funkce stejně jako sin()
přijímá jeden parametr, kterým je
hodnota v radiánech. Ukažme si pří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 celkem 8 hodnot funkce cosinus, například tyto:
A jak jistě víme, existují další goniometrické funkce, které PHP podporuje. Pojďme si je ukázat.
tan()
Funkce tan()
reprezentuje v PHP funkci tangens takovou, jak ji
známe. Do jediného parametru této funkce budeme přidávat hodnoty v
radiánech, které ze stupních dostaneme pomocí funkce deg2rad()
,
jak už bylo zmíněno. Následuje pří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 takového programu jsou hodnoty tangens z náhodně vygenerovaných úhlů:
cotangens()?
Funkce cotangens v PHP neexistuje, pokud bychom i tak chtěli cotangens
spočítat, dokážeme to za pomocí matematiky a vytvořením funkce vlastní
nebo víme, že cotangens se dá zapsat jako 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 poté dostaneme hodnotu cotangens náhodného úhlu (178° u výstupu níže):
Touto úvodní lekcí jsme se uvedli do problematiky matematických funkcí v PHP. Mnoho dalších takových funkcí si vysvětlíme již v dalších lekcích.
V další lekci, Inverzní goniometrické funkce v PHP, si vysvětlíme inverzní goniometrické funkce v PHP.