Wetenschappelijke rekenmachine: machten en logaritmen
Online wetenschappelijke rekenmachine met machten, wortels, logaritmen en ln, sinus, cosinus en tangens in graden of radialen, faculteiten, procenten en geheugen.
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.
Documentatie
Wetenschappelijke rekenmachine
Een wetenschappelijke rekenmachine berekent de waarde van een geschreven wiskundige uitdrukking. Deze rekenmachine verwerkt machten, wortels, logaritmen, goniometrie, faculteiten en percentages, past de standaardbewerkingsvolgorde toe en geeft ƩƩn antwoord.
Wat de calculator doet
Een uitdrukking wordt in het vak Uitdrukking getypt of met het toetsenblok opgebouwd. De rekenmachine leest de uitdrukking zodra deze verandert, zodat er geen gelijkteken nodig is om het antwoord te zien. De toets = voegt de berekening in plaats daarvan toe aan een geschiedenisoverzicht.
De rekenmachine accepteert:
- de cijfers, een decimaalteken en getallen in exponentnotatie, zoals
1.5e-3; - de operatoren
+,-,*,/en^(macht), plus haakjes; - de constanten
piene; - de functies
sin,cos,tan,asin,acos,atan,log,ln,sqrtencbrt; - de postfixtekens
!(faculteit) en%(procent).
De symbolen op het toetsenblok worden vertaald naar hun gewone equivalenten, dus Ć, Ć·, ā en Ļ betekenen hetzelfde als *, /, - en pi.
log is de logaritme met grondtal 10 en ln is de natuurlijke logaritme, met grondtal e. Dit is de aanduiding op wetenschappelijke rekenmachines van TI en Casio en de naamgeving in de NIST Digital Library of Mathematical Functions, sectie 4,2.
De bewerkingsvolgorde
De regel die bepaalt wat een uitdrukking betekent, is de bewerkingsvolgorde. Deze rekenmachine gebruikt de onderstaande grammatica. Elke regel verwijst naar de regel eronder, dus de inspringing vormt de prioriteitstabel: de laatste regel bindt het sterkst en wordt het eerst uitgewerkt.
1expression := term (('+' | '-') term)*
2term := unary (('*' | '/' | juxtaposition) unary)*
3unary := ('-' | '+') unary | power
4power := postfix ('^' unary)?
5postfix := primary ('!' | '%')*
6primary := number | constant | name '(' expression ')' | '(' expression ')'
7In de volgorde van eerst naar laatst uitgewerkt:
- alles tussen haakjes en een functie die op haakjes wordt toegepast;
!en%;^;- een vooropgeplaatst teken
-of+; *,/en twee elementen die naast elkaar staan;+en-.
De hierdoor ontstane conventies komen overeen met ISO 80000-2:2019 en het Wikipedia-artikel āOrder of operationsā:
| Geschreven | Wordt gelezen als | Waarde |
|---|---|---|
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 |
Twee getallen of namen die naast elkaar staan, worden vermenigvuldigd. Daardoor werken 2pi, 2(3+4) en 3sin(30). Deze impliciete vermenigvuldiging heeft dezelfde prioriteit als * en /, dus een juxtapositie en een deling worden van links naar rechts gelezen. Veel wetenschappelijke zakrekenmachines geven een juxtapositie een hogere prioriteit dan deling en lezen 1/2pi als 1/(2*pi), wat een ander antwoord oplevert. Wikipedia beschrijft dit verschil in āCalculator input methodsā. Haakjes maken elk geval waarin het verschil van belang is ondubbelzinnig.
% deelt door 100, waar het ook staat. 20% is dus 0,2 en 200*15% is 30. Het is niet de toets āpercentage van het lopende totaalā van een kassa en ook geen restoperator.
Uitgewerkt voorbeeld
De uitdrukking sin(30)+2^3*ln(4) wordt in de modus Graden in deze volgorde uitgewerkt:
sin(30)is 0,5, omdat 30 graden een halve rechte hoek is en de sinus daarvan een half is.2^3is 8. Machten worden vóór vermenigvuldigingen berekend.ln(4)is 1,38629436112.8 * 1.38629436112is 11,090354889.0.5 + 11.090354889is 11,590354889.
De rekenmachine toont 11,590354889.
Een tweede voorbeeld toont de regel van links naar rechts. In 6/2(1+2) worden de haakjes eerst uitgewerkt, wat 6/2*3 oplevert. De deling en de impliciete vermenigvuldiging hebben dezelfde prioriteit, dus de deling wordt eerst uitgevoerd: 6/2 is 3 en 3*3 is 9.
Graden en radialen
De instelling voor de hoekeenheid bepaalt hoe sin, cos en tan hun invoer lezen en welke eenheid asin, acos en atan teruggeven. In de modus Graden is een volledige omwenteling 360. In de modus Radialen is een volledige omwenteling 2pi, ongeveer 6,28318530718. Dezelfde uitdrukking kan in de twee modi zeer verschillende antwoorden opleveren: sin(30) is 0,5 in de modus Graden en -0,988031624093 in de modus Radialen.
Hoe getallen worden opgeslagen en weergegeven
Elke waarde is een IEEE-754-standaardwaarde van het type binary64, het getaltype dat wordt beschreven in ECMA-262, de ECMAScript Language Specification, sectie 6,1.6,1. Een double bevat ongeveer 15 tot 17 decimale cijfers. Alleen voor het scherm wordt het antwoord eenmaal afgerond op 12 significante cijfers. Waarden kleiner dan 0,000001 of gelijk aan of groter dan 1.000.000.000.000 worden in exponentnotatie weergegeven, zodat 0.0000001 wordt gelezen als 1E-7.
Het opgeslagen getal behoudt de volledige precisie. Het geheugen slaat het exacte resultaat op, niet de 12 cijfers op het scherm, en MR plakt de kortste tekst terug die als hetzelfde getal wordt gelezen. Een negatieve geheugenwaarde wordt tussen haakjes geplakt, zodat het terughalen ervan na een 2 als een vermenigvuldiging en niet als een aftrekking wordt gelezen.
Afronding wordt nooit gebruikt om iets te beslissen. Een kleine rest uit eerdere rekenkundige bewerkingen is een echt getal en wordt als zodanig behandeld. 0.1*3-0.3 is in binair niet nul, maar ongeveer 5,55111512313E-17, zodat 5/(0.1*3-0.3) 9,00719925474E16 oplevert in plaats van een melding over delen door nul.
Om dezelfde reden toont sin(180) in de modus Graden 1,22464679915E-16 en niet 0. De fout bedraagt daar ongeveer ƩƩn op tien biljoen en blijft zo klein. De tangens is de uitzondering; die wordt hieronder behandeld.
Wat de rekenmachine weigert
De rekenmachine toont een melding in plaats van een antwoord wanneer:
- een noemer exact nul is, inclusief een geschreven getal dat te klein is voor een double, zoals
1e-400, dat bij het lezen al nul is; sqrteen negatief getal krijgt;logoflneen getal krijgt dat niet groter is dan nul;asinofacoseen getal buiten het bereik van -1 tot 1 krijgt, het domein dat in NIST DLMF-sectie 4,14 wordt gegeven;tanwordt gebruikt bij 90 graden of een oneven veelvoud daarvan, waar de functie geen waarde heeft;- om een faculteit wordt gevraagd van iets anders dan een geheel getal van 0 tot 170;
- een getal een tweede decimaalteken bevat, zoals in
1.2.3; - de uitdrukking langer is dan 512 tekens.
De limiet van 170 is een eigenschap van het getaltype, geen voorkeur: de faculteit van 170 is ongeveer 7,25741561531E306, wat nog in een double past, terwijl de faculteit van 171 dat niet doet. De tekenlimiet van 512 wordt in de code gecontroleerd, omdat de lengte van de uitdrukking bepaalt hoeveel werk de rekenmachine uitvoert.
Bij de controle van de tangens wordt de hoek vóór de test afgerond op 9 decimalen. Daardoor wordt afwijking door eerdere rekenkundige bewerkingen teruggebracht naar de exacte asymptoot, ten koste van een weigeringsvenster van ongeveer 5e-10 graden aan elke kant. tan(89.9999999994) geeft 95.493.592.025 en tan(89.9999999995) wordt geweigerd. De modus Radialen voert geen dergelijke controle uit, omdat een ingevoerde radiaalwaarde nabij de helft van pi slechts een ander getal is zonder bijzondere status.
Veelgestelde vragen
Wat doet de toets % hier?
De toets deelt door 100 waar hij ook voorkomt. 100+10% is 100,1, omdat het 100 plus 0,1 betekent. De toets berekent geen percentage van wat eraan voorafging.
Is 2^3^2 64 of 512?
512. Machten worden van rechts gegroepeerd, dus dit betekent 2^(3^2), wat 2^9 is. Dit volgt ISO 80000-2:2019.
Waarom is 6/2(1+2) 9 en niet 1?
Een impliciete vermenigvuldiging heeft dezelfde prioriteit als een deling en bewerkingen met gelijke prioriteit worden van links naar rechts gelezen. Rekenmachines die juxtapositie een hogere prioriteit geven, antwoorden 1. Haakjes nemen de twijfel weg.
Waarom toont sin(180) niet 0?
Omdat 180 graden eerst naar radialen wordt omgerekend en pi niet exact binair kan worden geschreven. Het antwoord is ongeveer 1.2e-16, de werkelijke sinuswaarde van het getal dat de machine gebruikte.
Wat is het verschil tussen log en ln?
log heeft grondtal 10, dus log(1000) is 3. ln heeft grondtal e, dus ln(e) is 1. De aanduidingen op het toetsenblok volgen dezelfde conventie als op wetenschappelijke rekenmachines van TI en Casio.
Waarom wordt een faculteit boven 170 geweigerd? De faculteit van 171 is groter dan elk getal dat een double kan bevatten, dus het antwoord zou oneindig zijn in plaats van een getal. De rekenmachine meldt dat in plaats van een betekenisloos resultaat te tonen.
Bronnen
- IEEE 754-2019, IEEE-standaard voor rekenkunde met drijvende komma.
- ECMA-262, ECMAScript Language Specification, sectie 6.1.6.1, āThe Number Typeā.
- ISO 80000-2:2019, Quantities and units, deel 2: Mathematical signs and symbols.
- NIST Digital Library of Mathematical Functions, secties 4,2 en 4,14.
- Wikipedia, āOrder of operationsā.
- Wikipedia, āCalculator input methodsā.