MathCad

Moderators: dirkwb, Xilvo

Forumregels
(Middelbare) school-achtige vragen naar het forum "Huiswerk en Practica" a.u.b.
Zie eerst de Huiswerkbijsluiter
Reageer

MathCad

Ik gebruik MathCad 2001 professional.

Wanneer ik in de breukvorm de volgende breuk invoer, krijg ik een verkeerde uitkomst.

3/10 - 4/15 =1/33 uitkomst MathCad

Volgens mij moet deze uitkomst 1/30 zijn.

Mijn vraag is, of iemand hier bekend mee is, en weet wat de reden hiervan is.

Re: MathCad

Dit soort fouten in programmatuur wordt ook wel bug genoemd. Indien je een licentie hebt een update vragen.

Belangrijkste les: een computers (+ software) zijn niet zaligmakend. Gezond verstand doet wonderen. :shock:

Gebruikersavatar
Berichten: 3.437

Re: MathCad

Gast schreef:Ik gebruik MathCad 2001 professional.

Wanneer ik in de breukvorm de volgende breuk invoer, krijg ik een verkeerde uitkomst.

3/10 - 4/15 =1/33 uitkomst MathCad

Volgens mij moet deze uitkomst 1/30 zijn.
Deze uitkomst is inderdaad 1/30 zijn, maar dat terzijde. Weet je zeker dat je het goed invult in MathCad (ik ken het programma niet)? Mathematica doet het wel goed, misschien een mooie reden om te upgraden? :shock:
Never underestimate the predictability of stupidity...

Re: MathCad

Ik heb het net ff gecontrolleerd in Mathcad, als je 3/10 - 4/15 uitrekend, komt er als antwoord 0.033 uit. Wanneer je op de placeholder (zwarte puntje achter het antwoord) 1/30 intikt, zul je zien dat "3/10 - 4/15" precies 1 x 1/30 is. Mathcad heeft het dus wel goed berekend, alleen zie je het aan het antwoord niet duidelijk.

PS. 1/33 is 0.030303...

Re: MathCad

Op dit onderwerp wou ik even inhaken met de volgende vraag:

Het gebeurt wel vaker dat computers fouten maken met berekeningen. Dit schijnt iets te zijn wat ook niet te voorkomen is (er vanuit gaande dat het programme wel goed geschreven is). Ik heb het idee dat het met afrondingen te maken heeft, maar het kan natuurlijk ook iets heel anders zijn. ZOu iemand mij kunen vertelen hoe deze fouten kunnen ontstaan. Ofwel, hoe komt het dat computers deze reken fouten maken

Re: MathCad

Het gebeurt wel vaker dat computers fouten maken met berekeningen. Dit schijnt iets te zijn wat ook niet te voorkomen is (er vanuit gaande dat het programme wel goed geschreven is). Ik heb het idee dat het met afrondingen te maken heeft, maar het kan natuurlijk ook iets heel anders zijn. ZOu iemand mij kunen vertelen hoe deze fouten kunnen ontstaan. Ofwel, hoe komt het dat computers deze reken fouten maken
Een computer kan alleen een getal gebruiken met een eindig aantal cijfers (bijv. 16). Je kunt er wel 10^x achterzetten, maar die beperkte aantal cijfers zorgen voor afrondfouten en afbreekfouten. Dit kan problemen veroorzaken als een probleem slecht geconditioneerd is, wat dit inhoudt kan ik je niet even uitleggen, daar zul je toch een boek voor moeten naslaan. Maar misschien krijg je een idee met het volgende voorbeeld:

f(x)=1/(1-x) - 1/(1+x)

als x naar 0 nadert ontstaan er problemen omdat het rechtergedeelte en linkergedeelte naar dezelfde grootte gaan. Als x nu heel klein is zodat die onder de precisie van het programma ligt (bijv 1e-17) zal de uitkomst nul zijn. Dit is dus een slecht geconditioneerd probleem, want de werkelijke uitkomst is geen nul.

Maar de functie kan herschreven worden:

f(x)=(1+x)/((1-x)*(1+x))-(1-x)/((1+x)*(1-x))=2*x/(x^2+1)

Deze functie is goed geconditioneerd en geeft voor x=1e-17 probleemloos een uitkomst.

Goed en slecht geconditioneerde problemen zijn van groot belang bij matrix-berekeningen die veel voor komen in programma's. Vooral grote en kleine waarden (nul is geen probleem) in een matrix geven vaak slechte resultaten. Dit zijn dus geen programmeerfouten maar de wiskundige gevolgen van de eindige precisie van een computer.

Reageer