Vědecká kalkulačka: Mocniny, logaritmy a trigonometrie
Online vědecká kalkulačka pro mocniny, odmocniny, logaritmy a ln, sinus, kosinus a tangens ve stupních nebo radiánech, faktoriály, procenta a paměť.
Scientific Calculator
Evaluates a typed or tapped expression with the usual order of operations, including powers, roots, logarithms, trigonometry and factorials.
Keypad
How this calculator reads an expression
History
No calculations yet. Press = to add one.
Dokumentace
Vědecká kalkulačka
Vědecká kalkulačka vypočítá hodnotu zapsaného matematického výrazu. Tato kalkulačka umí mocniny, odmocniny, logaritmy, goniometrické funkce, faktoriály a procenta, používá standardní pořadí operací a zobrazí jednu odpověď.
Co kalkulátor dělá
Výraz se zadává do pole Výraz nebo se sestavuje pomocí klávesnice. Kalkulačka jej načte ihned po každé změně, takže k zobrazení odpovědi není potřeba klávesa rovnosti. Klávesa = místo toho přidá výpočet do seznamu historie.
Přijímá:
- číslice, desetinnou tečku a čísla v exponenciálním tvaru, například
1.5e-3; - operátory
+,-,*,/a^(mocnina) a také závorky; - konstanty
piae; - funkce
sin,cos,tan,asin,acos,atan,log,ln,sqrtacbrt; - postfixní znaky
!(faktoriál) a%(procento).
Symboly na klávesnici se převádějí na jejich běžné ekvivalenty, takže ×, ÷, − a π znamenají totéž jako *, /, - a pi.
log je logaritmus o základu 10 a ln je přirozený logaritmus, tedy o základu e. Toto označení se používá na vědeckých kalkulačkách TI a Casio i v oddílu 4,2 publikace NIST Digital Library of Mathematical Functions.
Pořadí operací
Pravidlo, které určuje význam výrazu, se nazývá pořadí operací. Tato kalkulačka používá níže uvedenou gramatiku. Každý řádek volá řádek pod sebou, takže vnoření tvoří tabulku priorit: poslední řádek má nejvyšší prioritu a zpracuje se jako první.
1expression := term (('+' | '-') term)*
2term := unary (('*' | '/' | juxtaposition) unary)*
3unary := ('-' | '+') unary | power
4power := postfix ('^' unary)?
5postfix := primary ('!' | '%')*
6primary := number | constant | name '(' expression ')' | '(' expression ')'
7Seřazeno od první zpracované operace po poslední:
- cokoli uvnitř závorek a funkce aplikovaná na závorky;
!a%;^;- úvodní znaménko
-nebo+; *,/a dvě věci zapsané vedle sebe;+a-.
Z toho vyplývající konvence odpovídají normě ISO 80000-2:2019 a článku „Order of operations“ na Wikipedii:
| Zápis | Čte se jako | Hodnota |
|---|---|---|
2^3^2 | 2^(3^2) | 512 |
-2^2 | -(2^2) | -4 |
2^-2 | 2^(-2) | 0,25 |
2^3! | 2^(3!) | 64 |
100+10% | 100 + (10/100) | 100,1 |
1/2pi | (1/2) * pi | 1,57079632679 |
6/2(1+2) | (6/2) * (1+2) | 9 |
Dvě čísla nebo názvy zapsané vedle sebe se násobí, díky čemuž fungují zápisy 2pi, 2(3+4) a 3sin(30). Toto skryté násobení má stejnou prioritu jako * a /, takže juxtapozice a dělení se čtou zleva doprava. Mnoho kapesních vědeckých kalkulaček přiřazuje juxtapozici vyšší prioritu než dělení a čte 1/2pi jako 1/(2*pi), což dává jiný výsledek. Wikipedie tento rozdíl popisuje v článku „Calculator input methods“. V případech, kdy na rozdílu záleží, odstraní nejasnost závorky.
% dělí číslem 100 bez ohledu na to, kde se nachází. Zápis 20% tedy znamená 0,2 a 200*15% znamená 30. Nejde o klávesu „procento z průběžného součtu“ na pokladně v obchodě ani o operátor zbytku po dělení.
Praktický příklad
Výraz sin(30)+2^3*ln(4) se v režimu stupňů zpracuje v tomto pořadí:
sin(30)je 0,5, protože 30 stupňů představuje polovinu pravého úhlu a jejich sinus je jedna polovina.2^3je 8. Mocniny se zpracují před násobením.ln(4)je 1,38629436112.8 * 1.38629436112je 11,090354889.0.5 + 11.090354889je 11,590354889.
Kalkulačka zobrazí 11,590354889.
Druhý příklad ukazuje pravidlo zpracování zleva doprava. Ve výrazu 6/2(1+2) se nejprve zpracuje závorka, takže vznikne 6/2*3. Dělení a skryté násobení mají stejnou prioritu, proto se nejprve provede dělení: 6/2 je 3 a 3*3 je 9.
Stupně a radiány
Nastavení jednotky úhlu určuje, jak funkce sin, cos a tan čtou své vstupy a jakou jednotku vracejí funkce asin, acos a atan. V režimu stupňů je celý obrat 360 stupňů. V režimu radiánů je celý obrat 2pi radiánů, tedy přibližně 6,28318530718. Stejný výraz může v obou režimech dát velmi odlišné výsledky: sin(30) je v režimu stupňů 0,5, zatímco v režimu radiánů -0,988031624093.
Jak se čísla ukládají a zobrazují
Každá hodnota je binární číslo typu double binary64 podle IEEE 754, tedy typu popsaného ve specifikaci jazyka ECMAScript ECMA-262, v oddílu 6,1.6,1. Typ double uchovává přibližně 15 až 17 desetinných číslic. Odpověď se pro zobrazení na obrazovce jednou zaokrouhlí na 12 platných číslic. Hodnoty menší než 0,000001 nebo větší či rovné 1 000 000 000 000 se zobrazují v exponenciálním tvaru, takže 0.0000001 se zobrazí jako 1E-7.
Uložené číslo si zachovává plnou přesnost. Paměť ukládá přesný výsledek, nikoli 12 číslic zobrazených na obrazovce, a MR vloží zpět nejkratší text, který se načte jako totéž číslo. Záporná hodnota v paměti se vloží v závorkách, takže její vyvolání za číslem 2 znamená násobení, nikoli odčítání.
Zaokrouhlení se nikdy nepoužívá k rozhodování. Drobné zbytkové hodnoty z předchozího výpočtu jsou skutečná čísla a tak se s nimi zachází. Výraz 0.1*3-0.3 není v binární soustavě nula, ale přibližně 5,55111512313E-17, takže 5/(0.1*3-0.3) dá 9,00719925474E16 namísto zprávy o dělení nulou.
Ze stejného důvodu výraz sin(180) v režimu stupňů zobrazí 1,22464679915E-16, nikoli 0. Chyba odpovídá přibližně jednomu dílu z deseti biliard a zůstává takto malá. Výjimkou je tangens, který se řeší níže.
Co kalkulačka odmítá
Kalkulačka zobrazí místo odpovědi zprávu, když:
- jmenovatel je přesně nulový, včetně zapsaného čísla příliš malého pro typ double, například
1e-400, které se po načtení již považuje za nulu; - funkce
sqrtdostane záporné číslo; - funkce
lognebolndostane číslo, které není větší než nula; - funkce
asinneboacosdostane číslo mimo interval od -1 do 1, tedy mimo definiční obor uvedený v oddílu 4,14 publikace NIST DLMF; - funkce
tanse použije pro 90 stupňů nebo libovolný jeho lichý násobek, kde nemá hodnotu; - faktoriál se požaduje pro něco jiného než celé číslo od 0 do 170;
- číslo obsahuje druhou desetinnou tečku, například
1.2.3; - výraz je delší než 512 znaků.
Limit 170 je vlastností číselného typu, nikoli volbou: faktoriál čísla 170 je přibližně 7,25741561531E306, což se do typu double ještě vejde, zatímco faktoriál čísla 171 nikoli. Limit 512 znaků se kontroluje v kódu, protože délka výrazu určuje, kolik práce kalkulačka vykoná.
Kontrola tangensu před testováním zaokrouhlí úhel na 9 desetinných míst. Tím se odchylka z předchozích výpočtů vrátí na přesnou asymptotu, za cenu odmítnutí hodnot v intervalu širokém přibližně 5e-10 stupně na každé straně. Výraz tan(89.9999999994) vrátí 95 493 592 025, zatímco tan(89.9999999995) je odmítnut. Režim radiánů takovou kontrolu neprovádí, protože zadaná radiánová hodnota blízká polovině čísla pi je jen další číslo bez zvláštního významu.
Často kladené otázky
Co zde dělá klávesa %?
Všude, kde se objeví, dělí číslem 100. Výraz 100+10% je 100,1, protože znamená 100 plus 0,1. Neurčuje procento z toho, co bylo zadáno před ním.
Je 2^3^2 rovno 64, nebo 512?
512. Mocniny se sdružují zprava, takže výraz znamená 2^(3^2), což je 2^9. To odpovídá normě ISO 80000-2:2019.
Proč je 6/2(1+2) rovno 9, a ne 1?
Skryté násobení má stejnou prioritu jako dělení a operace se stejnou prioritou se čtou zleva doprava. Kalkulačky, které juxtapozici přiřazují vyšší prioritu, odpoví 1. Závorky pochybnost odstraní.
Proč se u sin(180) nezobrazí 0?
Protože 180 stupňů se nejprve převede na radiány a číslo pi nelze v binární soustavě zapsat přesně. Výsledek je přibližně 1.2e-16, což je skutečná hodnota sinu čísla, které kalkulačka opravdu použila.
Jaký je rozdíl mezi log a ln?
log má základ 10, takže log(1000) je 3. ln má základ e, takže ln(e) je 1. Označení na klávesnici se řídí stejnou konvencí jako u vědeckých kalkulaček TI a Casio.
Proč se faktoriál větší než 170 odmítá? Faktoriál čísla 171 je větší než jakékoli číslo, které se vejde do typu double, takže výsledkem by byla nekonečná hodnota, nikoli číslo. Kalkulačka to oznámí, místo aby zobrazila nesmyslný výsledek.
Zdroje
- IEEE 754-2019, IEEE standard pro aritmetiku s pohyblivou řádovou čárkou.
- ECMA-262, ECMAScript Language Specification, oddíl 6.1.6.1, „The Number Type“.
- ISO 80000-2:2019, Quantities and units, část 2: Mathematical signs and symbols.
- NIST Digital Library of Mathematical Functions, oddíly 4,2 a 4,14.
- Wikipedie, „Order of operations“.
- Wikipedie, „Calculator input methods“.