NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

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:

Cosinus
localhost

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ů:

Tangens
localhost

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):

Cotangens
localhost

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.


 

Předchozí článek
Kvíz - Převody, hashování řetězců a fonetické funkce v PHP
Všechny články v sekci
PHP funkce
Přeskočit článek
(nedoporučujeme)
Inverzní goniometrické funkce v PHP
Článek pro vás napsal Pavel Vaněček
Avatar
Uživatelské hodnocení:
4 hlasů
Autor se věnuje psaní článků na Itnetwork.cz
Aktivity