Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cos(90) giver ikke 0 #252

Open
TorstenOrhoj opened this issue Nov 3, 2024 · 2 comments
Open

Cos(90) giver ikke 0 #252

TorstenOrhoj opened this issue Nov 3, 2024 · 2 comments

Comments

@TorstenOrhoj
Copy link

Beklager hvis dette er en kendt fejl, men mine kursister gjorde mig opmærksom på den fredag.

Windows eller Mac
Windows

WordMat version
1,31

Beskriv fejlen
Beregning af cos(90) med "decimaler" aktiveret giver ikke 0 med i stedet en (lille) 10-talspotens.

Trin til genskabelse af fejlen
Slå "decimaler" til (i stedet for fx "betydende cifre").
Skriv cos(90)
Beregn

Forventet opførsel
cos(90) = 0

Dokument
WordMat-cos90.docx

Screenshots
Se denne video: https://kaltura.aams.dk/media/Kaltura+Capture+recording+-+november+3.+2024%2C+1A04A01+am/0_59vp7grb

@soegaard
Copy link

soegaard commented Nov 4, 2024

Hej Torsten,

Det er vist et "teachable moment".

Et typisk CAS har som regel to måder at regne på: symbolsk og numerisk.
En numerisk beregning af et udtryk er som regel hurtigere end en symbolsk beregning.
Når beregningsmetoden er sat til Auto, så udregner WordMat udtrykket både symbolsk
og numerisk (det er i modsætning til f.eks. NSpire og Mathematica).

Under den numeriske beregning repræsenteres tallene i udregningen ved hjælp af flydende kommatal.

Når cos(90 grader) skal beregnes omskrives først til cos(pi/2) (pga. vinkel-indstillingen).
Problemet er nu at tallet pi/2 ikke kan repræsenteres eksakt med et flydende kommatal.
Når så funktion cos (som forventer et radiantal som input) kaldes får den et input der er
en anelse ved siden af pi/2 og giver derfor et result der er en anelse ved siden af 0.

Man støder på samme problem i programmeringssprog:

https://www.google.com/search?q=cos(90)+not+exact+zero

Man kan se, at det er samme ikke-nul kommatal, der optræder i spørgsmålene.

Om beregningsmetoden "Auto" står der i manualen:
image

Derfor vises både det eksakte resultat 0 samt det numeriske næsten-nul.

Ideen er utvivlsomt, at når man får et eksakt result som er symbolsk f.eks pi, så skrives det
numeriske resultat også: pi ~ 3.1415.

Her er problemet, så at det eksakte 0 og det numeriske næsten-nul ikke er ens.

Jeg foreslår at ændre auto-indstillingen så:

  • Det numeriske resultat kun skrives, når det eksakte result ikke er et tal.

Eventuelt, kan man skrive det numeriske resultatet, hvis den numeriske forskel er større
end en bestemt tærskel.

Som sidebemærkning: Det virker uheldigt at indstillingen til beregningsmetode påvirker visningsindstillingerne.
Det ville være simplere at gennemskue, hvad der sker hvis de var adskilte.

Mvh,
Jens Axel

@TorstenOrhoj
Copy link
Author

Tak for svar, Jens. Der var i hvert fald nogle ting jeg ikke lige var klar over.

Jeg vil overveje hvor meget af dit svar jeg vil medtage, når jeg skal prøve at forklare mine elever, hvorfor de får at kraftens arbejde ikke giver 0, når kraften er vinkelret på bevægelsesretningen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants