Znanstveni kalkulator: potencije, korijeni i logaritmi
Online znanstveni kalkulator s potencijama, korijenima, logaritmima i ln-om, sinusom, kosinusom i tangensom u stupnjevima ili radijanima, faktorijelima, postotkom i memorijom.
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čunava vrijednost zapisanog matematičkog izraza. Ovaj prepoznaje potencije, korijene, logaritme, trigonometrijske funkcije, faktorijele i postotke, primjenjuje standardni redoslijed računskih operacija i prikazuje jedan rezultat.
Što kalkulator radi
Izraz se upisuje u okvir Izraz ili sastavlja pomoću tipkovnice. Kalkulator ga očitava čim se promijeni, pa za prikaz rezultata nije potrebna tipka za jednako. Tipka = umjesto toga dodaje izračun na popis povijesti.
Prihvaća:
- znamenke, decimalnu točku i brojeve u eksponencijalnom obliku, kao što je
1.5e-3; - operatore
+,-,*,/i^(potenciranje), kao i zagrade; - konstante
piie; - funkcije
sin,cos,tan,asin,acos,atan,log,ln,sqrticbrt; - postfiksne znakove
!(faktorijel) i%(postotak).
Znakovi na tipkovnici prevode se u svoje obične ekvivalente, pa ×, ÷, − i π imaju isto značenje kao *, /, - i pi.
log je logaritam s bazom 10, a ln je prirodni logaritam, s bazom e. To je oznaka koja se upotrebljava na znanstvenim kalkulatorima TI i Casio, a takvo se nazivlje upotrebljava u odjeljku 4,2 NIST-ove Digitalne knjižnice matematičkih funkcija.
Redoslijed računskih operacija
Pravilo koje određuje značenje izraza jest redoslijed računskih operacija. Ovaj kalkulator upotrebljava gramatiku u nastavku. Svaki redak poziva redak ispod sebe, pa je ugniježđenost tablica prioriteta: posljednji redak ima najveći prioritet i izračunava se prvi.
1expression := term (('+' | '-') term)*
2term := unary (('*' | '/' | juxtaposition) unary)*
3unary := ('-' | '+') unary | power
4power := postfix ('^' unary)?
5postfix := primary ('!' | '%')*
6primary := number | constant | name '(' expression ')' | '(' expression ')'
7Zapisano kao popis, od onoga što se izračunava prvo do onoga što se izračunava posljednje:
- sve što je unutar zagrada i funkcija primijenjena na zagrade;
!i%;^;- početni znak
-ili+; *,/i dva elementa zapisana jedan uz drugi;+i-.
Konvencije koje iz toga proizlaze podudaraju se s normom ISO 80000-2:2019 i člankom „Redoslijed računskih operacija” na Wikipediji:
| Zapis | Čita se kao | Vrijednost |
|---|---|---|
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 |
Dva broja ili naziva zapisana jedan uz drugi množe se, zbog čega rade 2pi, 2(3+4) i 3sin(30). To skriveno množenje ima isti prioritet kao * i /, pa se susjedno zapisani elementi i dijeljenje čitaju slijeva nadesno. Mnogi ručni znanstveni kalkulatori daju susjednom zapisu veći prioritet od dijeljenja i čitaju 1/2pi kao 1/(2*pi), što daje drukčiji rezultat. Wikipedia opisuje tu razliku u članku „Načini unosa u kalkulator”. Zagrade uklanjaju svaku dvojbu kada je razlika važna.
% dijeli sa 100 gdje god se nalazi. Tako je 20% jednako 0,2, a 200*15% jednako 30. To nije tipka „postotak od trenutačnog zbroja” na blagajni i nije operator ostatka pri dijeljenju.
Primjer izračuna
Izraz sin(30)+2^3*ln(4) u načinu rada sa stupnjevima izračunava se ovim redom:
sin(30)iznosi 0,5 jer je 30 stupnjeva polovica pravog kuta, a njegov sinus iznosi jednu polovicu.2^3iznosi 8. Potencije se računaju prije množenja.ln(4)iznosi 1,38629436112.8 * 1.38629436112iznosi 11,090354889.0.5 + 11.090354889iznosi 11,590354889.
Kalkulator prikazuje 11,590354889.
Drugi primjer pokazuje pravilo slijeva nadesno. U izrazu 6/2(1+2) zagrada se prvo izračunava, čime se dobiva 6/2*3. Dijeljenje i skriveno množenje imaju isti prioritet, pa se prvo obavlja dijeljenje: 6/2 iznosi 3, a 3*3 iznosi 9.
Stupnjevi i radijani
Postavka mjerne jedinice kuta određuje kako sin, cos i tan čitaju svoj unos te koju jedinicu vraćaju asin, acos i atan. U načinu rada sa stupnjevima puni je okret 360. U načinu rada s radijanima puni je okret 2pi, odnosno približno 6,28318530718. Isti izraz može dati vrlo različite rezultate u ta dva načina: sin(30) iznosi 0,5 u načinu rada sa stupnjevima, a -0,988031624093 u načinu rada s radijanima.
Kako se brojevi pohranjuju i prikazuju
Svaka je vrijednost binarni broj dvostruke preciznosti binary64 prema IEEE-ju 754, odnosno tip broja opisan u specifikaciji jezika ECMAScript ECMA-262, u odjeljku 6,1.6,1. Double sadrži približno 15 do 17 decimalnih znamenki. Rezultat se za zaslon zaokružuje jednom, i to na 12 značajnih znamenki. Vrijednosti manje od 0,000001 ili jednake odnosno veće od 1.000.000.000.000 prikazuju se u eksponencijalnom obliku, pa se 0.0000001 čita kao 1E-7.
Pohranjeni broj zadržava punu preciznost. Memorija pohranjuje točan rezultat, a ne 12 znamenki na zaslonu, a MR ponovno umeće najkraći tekst koji se čita kao taj isti broj. Negativna vrijednost iz memorije umeće se u zagradama, pa se nakon 2 čita kao množenje, a ne kao oduzimanje.
Zaokruživanje se nikada ne upotrebljava za donošenje odluka. Sićušni ostatak iz ranijih računskih operacija stvaran je broj i tako se i obrađuje. 0.1*3-0.3 nije nula u binarnom obliku; iznosi približno 5,55111512313E-17, pa 5/(0.1*3-0.3) daje 9,00719925474E16, a ne poruku o dijeljenju s nulom.
Iz istog razloga sin(180) u načinu rada sa stupnjevima prikazuje 1,22464679915E-16, a ne 0. Pogreška je ondje približno jedan dio na deset tisuća milijardi milijardi i ostaje tako mala. Tangens je iznimka, a njime se bavi odjeljak u nastavku.
Što kalkulator odbija
Kalkulator umjesto rezultata prikazuje poruku kada:
- je nazivnik točno nula, uključujući zapisani broj premalen za double, kao što je
1e-400, koji je već pri očitavanju jednak nuli; - je funkciji
sqrtzadan negativan broj; - je funkciji
logililnzadan broj koji nije veći od nule; - je funkciji
asiniliacoszadan broj izvan raspona od -1 do 1, odnosno izvan domene navedene u odjeljku 4,14 NIST-ova DLMF-a; - se
tanupotrebljava pri 90 stupnjeva ili pri bilo kojem njegovu neparnom višekratniku, gdje nema vrijednost; - se faktorijel traži za bilo što osim cijelog broja od 0 do 170;
- broj sadržava drugu decimalnu točku, kao u
1.2.3; - je izraz dulji od 512 znakova.
Ograničenje od 170 svojstvo je tipa broja, a ne proizvoljna postavka: faktorijel broja 170 iznosi približno 7,25741561531E306, što još stane u double, dok faktorijel broja 171 ne stane. Ograničenje od 512 znakova provjerava se u kodu jer duljina izraza određuje količinu posla koju kalkulator obavlja.
Provjera tangensa zaokružuje kut na 9 decimalnih mjesta prije testiranja. Time se odstupanje iz ranijih računskih operacija vraća na točnu asimptotu, uz prozor odbijanja širok približno 5e-10 stupnjeva sa svake strane. tan(89.9999999994) vraća 95.493.592.025, a tan(89.9999999995) se odbija. U načinu rada s radijanima takva se provjera ne provodi jer je upisana vrijednost u radijanima blizu polovice broja pi samo još jedan broj, bez posebnog statusa.
Često postavljana pitanja
Što ovdje radi tipka %?
Ona dijeli sa 100 gdje god se pojavi. 100+10% iznosi 100,1 jer znači 100 plus 0,1. Ne izračunava postotak onoga što joj prethodi.
Je li 2^3^2 jednako 64 ili 512?
512. Potencije se grupiraju zdesna, pa izraz znači 2^(3^2), što je 2^9. To slijedi normu ISO 80000-2:2019.
Zašto je 6/2(1+2) jednako 9, a ne 1?
Skriveno množenje ima isti prioritet kao dijeljenje, a operacije jednakog prioriteta čitaju se slijeva nadesno. Kalkulatori koji susjednom zapisu daju veći prioritet daju rezultat 1. Zagrade uklanjaju dvojbu.
Zašto sin(180) ne prikazuje 0?
Zato što se 180 stupnjeva najprije pretvara u radijane, a pi se ne može točno zapisati u binarnom obliku. Rezultat je približno 1.2e-16, što je stvarna vrijednost sinusa broja koji je stroj doista upotrijebio.
Koja je razlika između log i ln?
log ima bazu 10, pa je log(1000) jednako 3. ln ima bazu e, pa je ln(e) jednako 1. Oznake na tipkovnici slijede istu konvenciju kao znanstveni kalkulatori TI i Casio.
Zašto se faktorijel iznad 170 odbija? Faktorijel broja 171 veći je od bilo kojeg broja koji double može sadržavati, pa bi rezultat bio beskonačnost, a ne broj. Kalkulator to navodi umjesto da prikaže besmislen rezultat.
Izvori
- IEEE 754-2019, IEEE-jeva norma za aritmetiku pomičnog zareza.
- ECMA-262, specifikacija jezika ECMAScript, odjeljak 6.1.6.1, „Tip Number”.
- ISO 80000-2:2019, Veličine i jedinice, dio 2: Matematički znakovi i simboli.
- NIST-ova Digitalna knjižnica matematičkih funkcija, odjeljci 4,2 i 4,14.
- Wikipedia, „Redoslijed računskih operacija”.
- Wikipedia, „Načini unosa u kalkulator”.