Package: errornumbers
Error Numbers library for pythonInstallatieInstallatie viapip(eenvoudigste manier)Open een terminal. (Kan via Pycharm (Alt + F12) of manueel via de zoekbalk in windows).gebruik het commandpip install errornumbers.Manuele installatieDownloaderrornumbers.pyvan deze github repository.Zet ze in dezelfde map als je python scripts; je kan de bestanden nu gebruiken.GebruikVanboven in elke python file waarin je deze package wilt gebruiken, moet je volgende lijn zetten:fromerrornumbersimportErrorNumberHeel de library draait rond het objectErrorNumber. Je kan deze aanmaken op deze manier:#ErrorNumber met absolute foutmy_error_number=ErrorNumber(waarde,absolute_fout)#ErrorNumber met relatieve foutmy_error_number=ErrorNumber(waarde,relatieve_fout,relative=True)Een ErrorNumber object heeft drie variabelen; value, absolute_error en relative_error. De waarde en fout van een ErrorNumber zijn steeds reëel.Je kan ze op onderstaande manier opvragen.#Maak een ErrorNumbermy_error_number=ErrorNumber(5,0.1)print(my_error_number.value)#prints 5print(my_error_number.absolute_error)#prints 0.1print(my_error_number.relative_error)#prints 0.02#Wanneer je het hele object print:print(my_error_number)#prints [value=5; error=0.1; relative_error=0.02]ErrorNumbers zijnimmutable. Dit betekent dat je de waarde van een ErrorNumber niet kan veranderen. Wanneer je aan de hand van een functie een ErrorNumber bewerkt, geeft die functie een nieuwe ErrorNumber terug en wordt de originele ErrorNumber behouden.#Maak een ErrorNumberoriginal_error_number=ErrorNumber(5,0.1)#plus 5new_error_number=original_error_number+5print(original_error_number)#prints [value=5; error=0.1; relative_error=0.02]print(new_error_number)#prints [value=10; error=0.1; relative_error=0.02]Als je een bestaande operatie (zoals +, -, ... ) op twee ErrorNumbers uitvoert, dan worden de fouten automatisch meegepropageerd.Als er een ander type wordt doorgegeven, dan wordt de variabele als een constante beschouwd (zonder fout dus).FunctieAfkortingBeschrijving.plus(other_errornumber)+telt een ErrorNumber bij een andere ErrorNumber op..plusc(constant)+telt bij een Errornumber een constante op.minus(other_errornumber)-trekt een ErrorNumber van een andere ErrorNumber af.minusc(constant)-trekt een constante van een ErrorNumber af.times(other_errornumber)*vermenigvuldigt een ErrorNumber met een andere ErrorNumber.timesc(constant)*vermenigvuldigt een ErrorNumber met een constante.divided_by(other_errornumber)/deelt een ErrorNumber door een andere ErrorNumber.divided_byc(constant)/deelt een ErrorNumber door een constante.inverse()inverteert een ErrorNumber.squared()geeft het kwadraat van een ErrorNumber.cubed()geeft de derde macht van een ErrorNumber.to_the(constant)**geeft de n-de macht van een ErrorNumberGoniometrische en andere bewerkingen kunnen ook gebruikt wordt, mits ze eerst geïmporteerd wordenfromerrornumbersimportsin,expEen lijstje met functies die geïmporteerd moeten worden voor gebruik staan hieronder.FunctieBeschrijvingsin(errornumber)neemt de sinus van een ErrorNumber*.cos(errornumber)neemt de cosinus van een ErrorNumber*tan(errornumber)neemt de tangens van een ErrorNumber*cot(errornumber)neemt de cotangens van een ErrorNumber*exp(errornumber)verheft e tot errornumberexpbase(errornumber, base)verheft een base tot het errornumberfrom_non_reproducible(list)berekent een waarde met fout = 3 * SF uit niet-reproduceerbare metingen.***goniometrische formules verwachten steeds een argument in radialenHet is niet bijster moeilijk om zelf custom functies van ErrorNumbers te schrijven met custom foutenpropagatie.Over het import statementPython laat het toe om import statements een andere naam te geven, dit om je code te verkorten.Bijvoorbeeld:fromerrornumbersimportErrorNumberasENmy_error_number=EN(5,0.1)fromerrornumbersimportsinassprint(s(my_error_number))Ook kan je heel de package in 1 keer importen met het commandofrom errornumbers import *.Dan kan je alle functies en het ErrorNumber object direct in je scripts gebruikenfromerrornumbersimport*my_error_number=ErrorNumber(0.1,0.1,relative=True)Voorbeeldbrekingsindex van een prismaWe kunnen aan de hand van de tophoeken de deviatiehoekvan een prisma de brekingsindex bepalen met de formulefromerrornumbersimportErrorNumberasENfromerrornumbersimportsinimportmath#in degreesalpha=EN(60,0.5)delta=EN(40,1.2)radian_alpha=alpha*math.pi/180radian_delta=delta*math.pi/180numerator=sin((radian_alpha+radian_delta)/2)denominator=sin(radian_alpha/2)n=numerator/denominatorn_degrees=n*180/math.piprint(n)Contributing / OpmerkingenEnglish version will follow soonNot every method has been tested