Zinātniskais kalkulators: pakāpes, saknes, logaritmi
Tiešsaistes zinātniskais kalkulators ar pakāpēm, saknēm, logaritmiem un ln, sinusu, kosinusu un tangensu grādos vai radiānos, faktoriāļiem, procentiem un atmiņas funkciju.
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.
Dokumentācija
Zinātniskais kalkulators
Zinātniskais kalkulators aprēķina rakstiskas matemātiskas izteiksmes vērtību. Šis kalkulators aprēķina pakāpes, saknes, logaritmus, trigonometrijas funkcijas, faktoriālus un procentus, lieto standarta darbību secību un parāda vienu atbildi.
Ko dara kalkulators
Izteiksmi ievada izteiksmes laukā vai izveido ar tastatūru. Kalkulators to nolasa, tiklīdz tā mainās, tāpēc atbildes apskatei nav jāspiež vienādības taustiņš. Taustiņš = tā vietā pievieno aprēķinu vēstures sarakstam.
Tas pieņem:
- ciparus, decimālatdalītāju un skaitļus eksponenta formā, piemēram,
1.5e-3; - operatorus
+,-,*,/un^(pakāpe), kā arī iekavas; - konstantes
piune; - funkcijas
sin,cos,tan,asin,acos,atan,log,ln,sqrtuncbrt; - postfixa zīmes
!(faktoriāls) un%(procents).
Tastatūras simboli tiek pārvērsti to parastajos ekvivalentos, tāpēc ×, ÷, − un π nozīmē to pašu, ko *, /, - un pi.
log ir logaritms ar bāzi 10, bet ln ir naturālais logaritms ar bāzi e. Šāds apzīmējums tiek lietots TI un Casio zinātniskajos kalkulatoros, kā arī NIST matemātisko funkciju digitālās bibliotēkas sadaļā 4,2.
Darbību secība
Noteikumu, kas nosaka izteiksmes nozīmi, sauc par darbību secību. Šis kalkulators izmanto tālāk norādīto gramatiku. Katra rinda izsauc zem tās esošo rindu, tāpēc ligzdojums veido prioritāšu tabulu: pēdējā rinda saista visciešāk un tiek aprēķināta pirmā.
1expression := term (('+' | '-') term)*
2term := unary (('*' | '/' | juxtaposition) unary)*
3unary := ('-' | '+') unary | power
4power := postfix ('^' unary)?
5postfix := primary ('!' | '%')*
6primary := number | constant | name '(' expression ')' | '(' expression ')'
7Saraksta veidā — no pirmās aprēķināmās darbības līdz pēdējai:
- viss, kas atrodas iekavās, un funkcija, kas piemērota iekavām;
!un%;^;- sākumā rakstīta
-vai+zīme; *,/un divi blakus uzrakstīti elementi;+un-.
Šādi iegūtās konvencijas atbilst standartam ISO 80000-2:2019 un Vikipēdijas rakstam “Darbību secība”:
| Rakstīts | Tiek interpretēts kā | Vērtība |
|---|---|---|
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 |
Divi blakus uzrakstīti skaitļi vai nosaukumi tiek reizināti, tāpēc darbojas 2pi, 2(3+4) un 3sin(30). Šai apslēptajai reizināšanai ir tāda pati prioritāte kā * un /, tāpēc blakus rakstīts reizinājums un dalīšana tiek interpretēti no kreisās uz labo. Daudzi pārnēsājamie zinātniskie kalkulatori piešķir blakus rakstītai reizināšanai augstāku prioritāti nekā dalīšanai un interpretē 1/2pi kā 1/(2*pi), iegūstot citu atbildi. Vikipēdija šo atšķirību apraksta rakstā “Calculator input methods”. Iekavas novērš neskaidrību visos gadījumos, kad šī atšķirība ir būtiska.
% visur, kur tas atrodas, dala ar 100. Tātad 20% ir 0,2, bet 200*15% ir 30. Tas nav veikala kases taustiņš “procents no pašreizējās kopsummas”, un tas nav arī atlikuma operators.
Atrisināts piemērs
Izteiksme sin(30)+2^3*ln(4) režīmā Degrees tiek aprēķināta šādā secībā:
sin(30)ir 0,5, jo 30 grādi ir puse no taisna leņķa un tā sinuss ir viena puse.2^3ir 8. Pakāpes tiek aprēķinātas pirms reizināšanas.ln(4)ir 1,38629436112.8 * 1.38629436112ir 11,090354889.0.5 + 11.090354889ir 11,590354889.
Kalkulators parāda 11,590354889.
Otrs piemērs parāda kārtību no kreisās uz labo. Izteiksmē 6/2(1+2) vispirms aprēķina iekavās esošo, iegūstot 6/2*3. Dalīšanai un apslēptajai reizināšanai ir vienāda prioritāte, tāpēc vispirms veic dalīšanu: 6/2 ir 3, bet 3*3 ir 9.
Grādi un radiāni
Leņķa mērvienības iestatījums nosaka, kā sin, cos un tan interpretē ievadi un kādu mērvienību atgriež asin, acos un atan. Režīmā Degrees pilns apgrieziens ir 360. Režīmā Radians pilns apgrieziens ir 2pi, aptuveni 6,28318530718. Viena un tā pati izteiksme abos režīmos var dot ļoti atšķirīgas atbildes: sin(30) režīmā Degrees ir 0,5, bet režīmā Radians — -0,988031624093.
Kā tiek glabāti un parādīti skaitļi
Katra vērtība ir IEEE 754 binary64 dubultas precizitātes skaitlis — skaitļa tips, kas aprakstīts ECMA-262 ECMAScript valodas specifikācijas sadaļā 6.1.6.1. Dubultas precizitātes skaitlis satur aptuveni 15 līdz 17 decimālciparus. Rezultāts tiek noapaļots tikai vienu reizi un tikai attēlošanai — līdz 12 nozīmīgajiem cipariem. Vērtības, kas ir mazākas par 0,000001 vai lielākas par vai vienādas ar 1 000 000 000 000, tiek rādītas eksponenta formā, tāpēc 0.0000001 nozīmē 1E-7.
Glabātais skaitlis saglabā pilnu precizitāti. Atmiņā tiek saglabāts precīzs rezultāts, nevis ekrānā redzamie 12 cipari, un MR ievieto īsāko tekstu, kas tiek interpretēts kā tas pats skaitlis. Negatīva atmiņas vērtība tiek ievietota iekavās, tāpēc tās atsaukšana pēc 2 tiek interpretēta kā reizināšana, nevis atņemšana.
Noapaļošana nekad netiek izmantota lēmumu pieņemšanai. Neliels atlikums no iepriekšējiem aritmētiskiem aprēķiniem ir reāls skaitlis un par tādu arī tiek uzskatīts. 0.1*3-0.3 binārajā sistēmā nav nulle; tas ir aptuveni 5,55111512313E-17, tāpēc 5/(0.1*3-0.3) dod 9,00719925474E16, nevis ziņojumu par dalīšanu ar nulli.
Tā paša iemesla dēļ sin(180) režīmā Degrees parāda 1,22464679915E-16, nevis 0. Kļūda ir aptuveni viena daļa no desmit tūkstošiem miljardu miljardu, un tā saglabājas tik maza. Izņēmums ir tangenss, un tas aplūkots tālāk.
Ko kalkulators nepieņem
Kalkulators atbildes vietā parāda ziņojumu, ja:
- saucējs ir tieši nulle, tostarp ja ievadītais skaitlis ir pārāk mazs dubultas precizitātes skaitlim, piemēram,
1e-400, kas pēc nolasīšanas jau ir nulle; - funkcijai
sqrttiek dota negatīva vērtība; - funkcijai
logvailntiek dota vērtība, kas nav lielāka par nulli; - funkcijai
asinvaiacostiek dota vērtība ārpus intervāla no -1 līdz 1, kas norādīts NIST DLMF sadaļā 4,14; tantiek lietots pie 90 grādiem vai jebkura tā nepāra daudzkārtņa, kur tam nav vērtības;- faktoriāls tiek prasīts skaitlim, kas nav vesels skaitlis no 0 līdz 170;
- skaitlim ir otrs decimālatdalītājs, kā
1.2.3; - izteiksme ir garāka par 512 rakstzīmēm.
Ierobežojums 170 ir skaitļu tipa īpašība, nevis izvēle: 170 faktoriāls ir aptuveni 7,25741561531E306, kas joprojām ietilpst dubultas precizitātes skaitlī, bet 171 faktoriāls tajā neietilpst. 512 rakstzīmju ierobežojumu pārbauda kodā, jo izteiksmes garums nosaka, cik daudz darba kalkulatoram jāveic.
Tangensa pārbaudē leņķis pirms testēšanas tiek noapaļots līdz 9 zīmēm aiz komata. Tādējādi agrāku aprēķinu novirze tiek atgriezta uz precīzo asimptotu, taču katrā pusē rodas aptuveni 5e-10 grādu plats atteikuma intervāls. tan(89.9999999994) atgriež 95 493 592 025, bet tan(89.9999999995) tiek noraidīts. Radiānu režīmā šāda pārbaude netiek veikta, jo ievadīta vērtība radiānos, kas ir tuva skaitļa pi pusei, ir vienkārši vēl viens skaitlis bez īpaša statusa.
Biežāk uzdotie jautājumi
Ko šeit dara taustiņš %?
Tas visur, kur parādās, dala ar 100. 100+10% ir 100,1, jo tas nozīmē 100 plus 0,1. Tas neaprēķina procentus no iepriekšējās vērtības.
Vai 2^3^2 ir 64 vai 512?
512. Pakāpes grupējas no labās uz kreiso, tāpēc izteiksme nozīmē 2^(3^2), kas ir 2^9. Tas atbilst standartam ISO 80000-2:2019.
Kāpēc 6/2(1+2) ir 9, nevis 1?
Apslēptajai reizināšanai ir tāda pati prioritāte kā dalīšanai, un vienādas prioritātes darbības lasa no kreisās uz labo. Kalkulatori, kas blakus rakstītai reizināšanai piešķir augstāku prioritāti, atbildi 1. Iekavas novērš šaubas.
Kāpēc sin(180) neparāda 0?
Tāpēc, ka 180 grādi vispirms tiek pārvērsti radiānos, bet pi binārajā sistēmā nevar uzrakstīt precīzi. Atbilde ir aptuveni 1.2e-16, kas ir faktiskā mašīnas izmantotā skaitļa sinusa patiesā vērtība.
Kāda ir atšķirība starp log un ln?
log bāze ir 10, tāpēc log(1000) ir 3. ln bāze ir e, tāpēc ln(e) ir 1. Tastatūras apzīmējumi atbilst tai pašai konvencijai, ko izmanto TI un Casio zinātniskie kalkulatori.
Kāpēc faktoriāls, kas lielāks par 170, tiek noraidīts? 171 faktoriāls ir lielāks par jebkuru skaitli, ko var glabāt dubultas precizitātes skaitlis, tāpēc rezultāts būtu bezgalība, nevis skaitlis. Kalkulators to norāda, nevis parāda bezjēdzīgu rezultātu.
Avoti
- IEEE 754-2019, IEEE standarts peldošā komata aritmētikai.
- ECMA-262, ECMAScript valodas specifikācija, sadaļa 6.1.6.1 “Skaitļa tips”.
- ISO 80000-2:2019, “Lielumi un mērvienības”, 2. daļa: matemātiskās zīmes un simboli.
- NIST matemātisko funkciju digitālā bibliotēka, sadaļas 4,2 un 4,14.
- Vikipēdija, “Darbību secība”.
- Vikipēdija, “Kalkulatora ievades metodes”.