Znanstveni kalkulator: potence, koreni in trigonometrija
Spletni znanstveni kalkulator omogoča računanje potenc, korenov, logaritmov in ln, sinusa, kosinusa in tangensa v stopinjah ali radianih ter faktorialov, odstotkov in pomnilnika.
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.
Dokumentacija
Znanstveni kalkulator
Znanstveni kalkulator izračuna vrednost zapisanega matematičnega izraza. Ta obravnava potence, korene, logaritme, trigonometrične funkcije, faktoriale in odstotke, uporablja običajni vrstni red računskih operacij ter izpiše en rezultat.
Kaj počne kalkulator
Izraz vnesete v polje Izraz ali ga sestavite s tipkovnico. Kalkulator ga prebere takoj, ko se spremeni, zato za prikaz rezultata ni potrebna tipka za enačaj. Tipka = namesto tega doda izračun na seznam zgodovine.
Sprejema:
- števke, decimalno piko in števila v eksponentni obliki, na primer
1.5e-3; - operatorje
+,-,*,/in^(potenciranje) ter oklepaje; - konstanti
piine; - funkcije
sin,cos,tan,asin,acos,atan,log,ln,sqrtincbrt; - postfiksna znaka
!(fakulteta) in%(odstotek).
Simboli na tipkovnici se prevedejo v običajne ustreznike, zato ×, ÷, − in π pomenijo isto kot *, /, - in pi.
log je logaritem z osnovo 10, ln pa naravni logaritem z osnovo e. Tako sta označena na znanstvenih kalkulatorjih TI in Casio, enako pa tudi v Digitalni knjižnici matematičnih funkcij NIST v razdelku 4,2.
Vrstni red računskih operacij
Pravilo, ki določa pomen izraza, je vrstni red računskih operacij. Ta kalkulator uporablja spodnjo slovnico. Vsaka vrstica vključuje vrstico pod seboj, zato gnezdenje določa prednost: zadnja vrstica se veže najtesneje in se izračuna prva.
1expression := term (('+' | '-') term)*
2term := unary (('*' | '/' | juxtaposition) unary)*
3unary := ('-' | '+') unary | power
4power := postfix ('^' unary)?
5postfix := primary ('!' | '%')*
6primary := number | constant | name '(' expression ')' | '(' expression ')'
7Zapisano kot seznam, od prvega do zadnjega izračuna:
- vse, kar je znotraj oklepajev, in funkcija, uporabljena na oklepajih;
!in%;^;- začetni znak
-ali+; *,/in dva zapisa, zapisana drug ob drugem;+in-.
Tako dobljene konvencije se ujemajo s standardom ISO 80000-2:2019 in člankom »Vrstni red računskih operacij« na Wikipediji:
| Zapis | Bere se kot | Vrednost |
|---|---|---|
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 |
Dve števili ali imeni, zapisani drugo ob drugem, se množita, zato delujejo izrazi 2pi, 2(3+4) in 3sin(30). To skrito množenje ima enako prednost kot * in /, zato se stik in deljenje bereta od leve proti desni. Številni ročni znanstveni kalkulatorji stiku dajejo večjo prednost kot deljenju in 1/2pi berejo kot 1/(2*pi), kar da drugačen rezultat. Wikipedija razliko opisuje v članku »Načini vnosa v kalkulator«. Oklepaji razrešijo vsak primer, pri katerem je razlika pomembna.
% povsod, kjer se pojavi, deli s 100. Zato je 20% enako 0,2, 200*15% pa je enako 30. To ni tipka za »odstotek od sprotnega seštevka« na blagajni in tudi ni operator ostanka pri deljenju.
Primer z rešitvijo
Izraz sin(30)+2^3*ln(4) se v načinu stopinj izračuna v tem vrstnem redu:
sin(30)je 0,5, ker je 30 stopinj polovica pravega kota, njegov sinus pa je ena polovica.2^3je 8. Potence se izračunajo pred množenjem.ln(4)je 1,38629436112.8 * 1.38629436112je 11,090354889.0.5 + 11.090354889je 11,590354889.
Kalkulator prikaže 11,590354889.
Drugi primer pokaže pravilo od leve proti desni. Pri izrazu 6/2(1+2) se oklepaj najprej izračuna, tako da dobimo 6/2*3. Deljenje in skrito množenje imata enako prednost, zato se najprej izvede deljenje: 6/2 je 3, 3*3 pa je 9.
Stopinje in radiani
Nastavitev enote kota določa, kako sin, cos in tan berejo vhod ter katero enoto vrnejo asin, acos in atan. V načinu stopinj je celoten obrat 360. V načinu radianov je celoten obrat 2pi, približno 6,28318530718. Isti izraz lahko v obeh načinih da zelo različna rezultata: sin(30) je v načinu stopinj 0,5, v načinu radianov pa -0,988031624093.
Kako se števila shranjujejo in prikazujejo
Vsaka vrednost je binarno število IEEE 754 vrste binary64 z dvojno natančnostjo, torej številski tip, opisan v specifikaciji jezika ECMAScript, ECMA-262, razdelek 6,1.6,1. Število z dvojno natančnostjo vsebuje približno 15 do 17 decimalnih števk. Rezultat se za zaslon zaokroži samo enkrat, na 12 pomembnih števk. Vrednosti pod 0,000001 ali enake oziroma večje od 1.000.000.000.000 so prikazane v eksponentni obliki, zato se 0.0000001 prikaže kot 1E-7.
Shranjeno število ohrani polno natančnost. Pomnilnik shrani natančen rezultat, ne 12 števk na zaslonu, MR pa prilepi nazaj najkrajši zapis, ki predstavlja isto število. Negativna vrednost v pomnilniku se prilepi v oklepajih, zato je njen priklic za 2 videti kot množenje in ne odštevanje.
Zaokroževanje se nikoli ne uporablja za odločanje. Majhen ostanek prejšnjih računov je resnično število in se kot tako tudi obravnava. 0.1*3-0.3 v binarnem zapisu ni nič; približno je 5,55111512313E-17, zato 5/(0.1*3-0.3) da 9,00719925474E16 namesto sporočila o deljenju z nič.
Iz istega razloga sin(180) v načinu stopinj prikaže 1,22464679915E-16 in ne 0. Napaka je približno ena na deset tisoč bilijonov in ostane tako majhna. Izjema je tangens, ki je obravnavan spodaj.
Česa kalkulator ne sprejme
Kalkulator namesto rezultata prikaže sporočilo, kadar:
- je imenovalec natanko nič, vključno z zapisanim številom, ki je za double premajhno, na primer
1e-400, saj se ob branju že spremeni v nič; - je funkciji
sqrtpodano negativno število; - je funkciji
logalilnpodano število, ki ni večje od nič; - je funkciji
asinaliacospodano število zunaj intervala od -1 do 1, ki je definicijsko območje, navedeno v razdelku 4,14 NIST DLMF; - se
tanuporabi pri 90 stopinjah ali katerem koli njegovem lihem večkratniku, kjer nima vrednosti; - se zahteva faktorial česa drugega kot celega števila od 0 do 170;
- število vsebuje drugo decimalno piko, kot pri
1.2.3; - je izraz daljši od 512 znakov.
Omejitev 170 je lastnost številskega tipa, ne izbira: faktorial števila 170 je približno 7,25741561531E306, kar še ustreza številu z dvojno natančnostjo, faktorial števila 171 pa presega njegovo največjo vrednost. Omejitev 512 znakov se preverja v kodi, ker dolžina izraza določa, koliko dela mora opraviti kalkulator.
Preverjanje tangensa pred preizkusom zaokroži kot na 9 decimalnih mest. S tem odklon iz prejšnjih računov vrne na natančno asimptoto, cena za to pa je zavrnitveno območje, široko približno 5e-10 stopinje na vsaki strani. tan(89.9999999994) vrne 95.493.592.025, tan(89.9999999995) pa je zavrnjen. Način radianov takega preverjanja nima, ker je vnesena vrednost v radianih blizu polovice pi le še eno število brez posebnega statusa.
Pogosta vprašanja
Kaj tukaj naredi tipka %?
Povsod, kjer se pojavi, deli s 100. 100+10% je 100,1, ker pomeni 100 plus 0,1. Ne izračuna odstotka od vrednosti, ki je bila vnesena pred njo.
Ali je 2^3^2 enako 64 ali 512?
512. Potence se združujejo z desne, zato izraz pomeni 2^(3^2), kar je 2^9. To sledi standardu ISO 80000-2:2019.
Zakaj je 6/2(1+2) enako 9 in ne 1?
Skrito množenje ima enako prednost kot deljenje, izrazi z enako prednostjo pa se berejo od leve proti desni. Kalkulatorji, ki stiku dajejo večjo prednost, vrnejo 1. Oklepaji odpravijo dvom.
Zakaj sin(180) ne prikaže 0?
Ker se 180 stopinj najprej pretvori v radiane, pi pa v binarnem zapisu ni mogoče zapisati natančno. Rezultat je približno 1.2e-16, kar je prava vrednost sinusa števila, ki ga je naprava dejansko uporabila.
Kakšna je razlika med log in ln?
log ima osnovo 10, zato je log(1000) enako 3. ln ima osnovo e, zato je ln(e) enako 1. Oznake na tipkovnici sledijo isti konvenciji kot na znanstvenih kalkulatorjih TI in Casio.
Zakaj je faktorial nad 170 zavrnjen? Faktorial števila 171 je večji od vsakega števila, ki ga lahko predstavlja število z dvojno natančnostjo, zato bi bil rezultat neskončnost in ne število. Kalkulator to sporoči, namesto da bi prikazal nesmiseln rezultat.
Viri
- IEEE 754-2019, standard IEEE za aritmetiko s plavajočo vejico.
- ECMA-262, specifikacija jezika ECMAScript, razdelek 6.1.6.1, »Številski tip«.
- ISO 80000-2:2019, Veličine in enote, 2. del: Matematični znaki in simboli.
- Digitalna knjižnica matematičnih funkcij NIST, razdelka 4,2 in 4,14.
- Wikipedija, »Vrstni red računskih operacij«.
- Wikipedija, »Načini vnosa v kalkulator«.