math.h

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

math.h je hlavičkový soubor standardní knihovny jazyka C, který zpřístupňuje matematické funkce pro reálna čísla (např. goniometrické funkce, logaritmy) s přesností double, standard C99 i pro komplexní čísla a také s přesnostmi float a long double. (Může obsahovat konstanty např. Ludolfovo číslo, Eulerovo číslo, ...). Hlavičkový soubor se do zdrojového kódu vkládá pomocí direktivy preprocesoru #include <math.h> (v C) nebo #include <cmath> (v C++).

Funkce pow[editovat | editovat zdroj]

Funkce pow (z anglického power, což znamená umocňovat) je funkce, která umožňuje umocňovat reálný základ reálným číslem. Při programování se často místo této funkce používá součin několika proměnných, například x^3 = x \cdot x \cdot x.

V případě, že je potřeba spočítat druhou odmocninu, lze použít předdefinovanou funkci sqrt, případně se používá alternativa ve tvaru pow(x, 1./2.), což je základ umocnění na jednu polovinu.

Toto se používá i u jiných odmocnin. Při počítání liché odmocniny je v matematice definována odmocnina ze záporného čísla, ale u této funkce toto není definováno. Tento problém lze obejít podmínkami if a else a pomocí funkce abs(x).

Příklad zdrojový kódu pro funkci pow[editovat | editovat zdroj]

#include <math.h>
#include <stdio.h>
 
int main()
{
    double x, z;
    printf("Zadejte cislo, ktere chcete umocnit na 3. :");
    scanf("%lf", &x);
    z = pow(x, 3.);
    printf("Vysledek je: %f\n", z);
    return 0;
}

Funkce sqrt[editovat | editovat zdroj]

Funkce sqrt (z anglického square root, což znamená druhá odmocnina) je další funkci, která je možné volat ve tvaru z = sqrt(x);. Pro tuto funkci není definována odmocnina ze záporného čísla. Tomuto problému lze zabránit příkazem abs(x) nebo podmínkami if a else. Alternativa tohoto příkazu je příkaz pow, kde je proměnná umocněna na jednu polovinu.

Příklad zdrojový kódu pro funkci sqrt[editovat | editovat zdroj]

#include <math.h>
#include <stdio.h>
 
int main()
{
    double x, z;
    printf("Zadejte cislo, ktere chcete odmocnit: ");
    scanf("%lf", &x);
 
    if(x >= 0.)
    {
        z = sqrt(x);
        printf("Vysledek je: %f\n", z);
        return 0;
    }
    else
    {
        printf("Chyba, program ukoncen!\n");
        return 1;
    }
}

Tabulka s přehledem nejužívanějších příkazů této knihovny[editovat | editovat zdroj]

Příkaz Popis
abs absolutní hodnota
labs absolutní hodnota typu long
fabs absolutní hodnota typu float
div vrátí výsledek spolu se zbytkem dělení
ldiv vrátí výsledek spolu se zbytkem dělení typu long
sqrt druhá odmocnina
pow vrátí umocněné číslo
log přirozený logaritmus
log10 logaritmus se základem 10
sin sinus
cos kosinus
tan tangens
acos arcus cosinus
asin arcus sinus
atan arcus tangens
atan2 arcus tangens
sinh hyperbolický sinus
cosh hyperbolický cosinus
tanh hyperbolický tangens
ceil vrátí nejbližší celé číslo ne menší než argument (zaokrouhlí nahoru)
floor vrátí nejbližší celé číslo ne větší než argument (zaokrouhlí dolů)

Související články[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]