Прескочи на садржај

Научни калкулатор: степени, корени и тригонометрија

Онлајн научни калкулатор са степенима, коренима, логаритмима и ln-ом, синусом, косинусом и тангенсом у степенима или радијанима, факторијелима, процентима и меморијом.

Scientific Calculator

Evaluates a typed or tapped expression with the usual order of operations, including powers, roots, logarithms, trigonometry and factorials.

Use + - * / for arithmetic, ^ for powers, ! for factorial and % for percent.

Type an expression or use the keypad to see a result.

Keypad

How this calculator reads an expression

Percent divides by 100 wherever it appears, so 100+10% is 100.1, not 110. Powers group from the right: 2^3^2 is 2^9, which is 512. A minus sign in front of a power is applied last, so -2^2 is -4. Two things written side by side are multiplied, and that multiplication ranks with division, so both are read left to right: 1/2pi means (1/2) times pi, and 6/2(1+2) is 9. Some scientific calculators read 1/2pi the other way, as 1/(2 times pi), so use brackets when the meaning matters. In Degrees mode the tangent is refused at 90 degrees and every odd multiple of it, because it has no value there.

History

No calculations yet. Press = to add one.

Kalkulator učitavanja...
📚

Dokumentacija

Научни калкулатор

Научни калкулатор израчунава вредност записаног математичког израза. Овај калкулатор чита степене, корене, логаритме, тригонометријске функције, факторијеле и проценте, примењује стандардни редослед операција и приказује један резултат.

Шта калкулатор ради

Израз се уноси у поље „Израз“ или се саставља помоћу тастатуре. Калкулатор га чита чим се промени, па тастер за једнакост није потребан да би се приказао резултат. Тастер = уместо тога додаје израчунавање у историју.

Прихвата:

  • цифре, децималну тачку и бројеве у експоненцијалном облику, као што је 1.5e-3;
  • операторе +, -, *, / и ^ (степеновање), као и заграде;
  • константе pi и e;
  • функције sin, cos, tan, asin, acos, atan, log, ln, sqrt и cbrt;
  • постфиксне знаке ! (факторијел) и % (проценат).

Симболи на тастатури преводе се у своје уобичајене еквиваленте, па ×, ÷, и π значе исто што и *, /, - и pi.

log је логаритам са основом 10, а ln је природни логаритам, са основом e. То је ознака која се користи на научним калкулаторима TI и Casio, као и у NIST-овој Дигиталној библиотеци математичких функција, у одељку 4,2.

Редослед операција

Правило које одређује значење израза јесте редослед операција. Овај калкулатор користи граматику наведену у наставку. Сваки ред позива ред испод себе, па угнежђивање представља табелу приоритета: последњи ред има највећи приоритет и израчунава се први.

1expression := term (('+' | '-') term)*
2term       := unary (('*' | '/' | juxtaposition) unary)*
3unary      := ('-' | '+') unary | power
4power      := postfix ('^' unary)?
5postfix    := primary ('!' | '%')*
6primary    := number | constant | name '(' expression ')' | '(' expression ')'
7

Наведено као списак, од првог израчунатог до последњег израчунатог:

  1. све унутар заграда и функција примењена на заграде;
  2. ! и %;
  3. ^;
  4. почетни знак - или +;
  5. *, / и два елемента записана један поред другог;
  6. + и -.

Конвенције које из тога произлазе усклађене су са стандардом ISO 80000-2:2019 и чланком „Редослед операција“ на Википедији:

ЗаписЧита се каоВредност
2^3^22^(3^2)512
-2^2-(2^2)-4
2^-22^(-2)0,25
2^3!2^(3!)64
100+10%100 + (10/100)100,1
1/2pi(1/2) * pi1,57079632679
6/2(1+2)(6/2) * (1+2)9

Два броја или назива записана један поред другог множе се, што омогућава да функционишу 2pi, 2(3+4) и 3sin(30). То имплицитно множење има исти приоритет као * и /, па се имплицитно множење и дељење читају слева надесно. Многи ручни научни калкулатори дају имплицитном множењу већи приоритет од дељења и читају 1/2pi као 1/(2*pi), што даје други резултат. Википедија описује ову разлику у чланку „Методи уноса у калкулатор“. Заграде решавају сваки случај у којем је разлика важна.

% дели са 100 на месту на којем се налази. Тако је 20% једнако 0,2, а 200*15% једнако 30. То није тастер за „проценат од текућег збира“ на каси, нити је оператор за остатак при дељењу.

Пример са решењем

Израз sin(30)+2^3*ln(4), у режиму за степене, израчунава се овим редом:

  1. sin(30) је 0,5, јер је 30 степени половина правог угла, а његов синус је једна половина.
  2. 2^3 је 8. Степеновање се обавља пре множења.
  3. ln(4) је 1,38629436112.
  4. 8 * 1.38629436112 је 11,090354889.
  5. 0.5 + 11.090354889 је 11,590354889.

Калкулатор приказује 11,590354889.

Други пример показује правило слева надесно. У изразу 6/2(1+2) заграде се израчунавају прве, па се добија 6/2*3. Дељење и имплицитно множење имају исти приоритет, па се прво обавља дељење: 6/2 је 3, а 3*3 је 9.

Степени и радијани

Подешавање јединице угла одређује како sin, cos и tan читају улаз и коју јединицу враћају asin, acos и atan. У режиму за степене пун обртај износи 360. У радијанском режиму пун обртај износи 2pi, односно приближно 6,28318530718. Исти израз може дати веома различите резултате у ова два режима: sin(30) је 0,5 у режиму за степене, а -0,988031624093 у радијанском режиму.

Како се бројеви чувају и приказују

Свака вредност је број у формату IEEE 754 binary64 са двоструком прецизношћу, тип броја описан у ECMA-262, Спецификацији језика ECMAScript, одељак 6.1.6.1. Број чува приближно од 15 до 17 децималних цифара. Резултат се једном заокружује, само за приказ на екрану, на 12 значајних цифара. Вредности мање од 0,000001 или веће или једнаке 1.000.000.000.000 приказују се у експоненцијалном облику, па се 0.0000001 чита као 1E-7.

Сачувани број задржава пуну прецизност. Меморија чува тачан резултат, а не 12 цифара приказаних на екрану, а MR враћа најкраћи текст који се чита као тај исти број. Негативна вредност из меморије враћа се у заградама, па се њено позивање после 2 чита као множење, а не као одузимање.

Заокруживање се никада не користи за доношење одлука. Ситан остатак из ранијег рачуна је реалан број и тако се и третира. 0.1*3-0.3 није нула у бинарном запису; износи приближно 5,55111512313E-17, па 5/(0.1*3-0.3) даје 9,00719925474E16, а не поруку о дељењу нулом.

Из истог разлога sin(180) у режиму за степене приказује 1,22464679915E-16, а не 0. Грешка је приближно један део на десет хиљада милијарди милијарди и остаје тако мала. Тангенс је изузетак и обрађује се у наставку.

Шта калкулатор одбија

Калкулатор приказује поруку уместо резултата када:

  • је именилац тачно нула, укључујући записани број премали за двоструку прецизност, као што је 1e-400, који се при читању већ претвара у нулу;
  • се функцији sqrt зада негативан број;
  • се функцији log или ln зада број који није већи од нуле;
  • се функцији asin или acos зада број ван интервала од -1 до 1, домена наведеног у одељку 4,14 NIST DLMF-а;
  • се tan користи при углу од 90 степени или при било ком непарном вишекратнику тог угла, где нема вредност;
  • се факторијел затражи за било шта осим целог броја од 0 до 170;
  • број садржи другу децималну тачку, као у 1.2.3;
  • је израз дужи од 512 знакова.

Ограничење од 170 својство је типа броја, а не произвољна поставка: факторијел броја 170 износи приближно 7,25741561531E306, што и даље стаје у двоструку прецизност, док факторијел броја 171 не стаје. Ограничење од 512 знакова проверава се у коду, јер дужина израза одређује колико посла калкулатор обавља.

Провера тангенса заокружује угао на 9 децималних места пре тестирања. Тиме се одступање настало ранијим рачунањем враћа на тачну асимптоту, по цену прозора за одбијање ширине око 5e-10 степени са сваке стране. tan(89.9999999994) враћа 95.493.592.025, а tan(89.9999999995) се одбија. Радијански режим не врши такву проверу, јер је унета радијанска вредност близу половине пи-ја само још један број без посебног статуса.

Најчешће постављана питања

Шта овде ради тастер %? Он дели са 100 где год се појави. 100+10% је 100,1, јер значи 100 плус 0,1. Не израчунава проценат било чега што му претходи.

Да ли је 2^3^2 64 или 512? 512. Степеновања се групишу здесна, па израз значи 2^(3^2), што је 2^9. То је у складу са стандардом ISO 80000-2:2019.

Зашто је 6/2(1+2) 9, а не 1? Имплицитно множење има исти приоритет као дељење, а операције истог приоритета читају се слева надесно. Калкулатори који имплицитном множењу дају већи приоритет израчунавају 1. Заграде отклањају недоумицу.

Зашто sin(180) не приказује 0? Зато што се 180 степени најпре претвара у радијане, а пи се не може тачно записати у бинарном облику. Резултат је приближно 1.2e-16, што је стварна вредност синуса броја који је машина заиста употребила.

Која је разлика између log и ln? log има основу 10, па је log(1000) једнако 3. ln има основу e, па је ln(e) једнако 1. Ознаке на тастатури следе исту конвенцију као научни калкулатори TI и Casio.

Зашто се факторијел већи од 170 одбија? Факторијел броја 171 већи је од сваког броја који двострука прецизност може да чува, па би резултат био бесконачност, а не број. Калкулатор то приказује уместо да прикаже бесмислен резултат.

Извори

  • IEEE 754-2019, IEEE стандард за аритметику са покретним зарезом.
  • ECMA-262, Спецификација језика ECMAScript, одељак 6.1.6.1, „Тип Number“.
  • ISO 80000-2:2019, Величине и јединице, део 2: Математички знаци и симболи.
  • NIST-ова Дигитална библиотека математичких функција, у одељцима 4,2 и 4,14.
  • Википедија, „Редослед операција“.
  • Википедија, „Методи уноса у калкулатор“.