Incertitudes sur Python

Sur les différentes pratiques pédagogiques et les documents généraux, les évaluations, la didactique, l'épistémologie... Tout ce qui est disciplinaire mais non lié à un niveau donné.

Incertitudes sur Python

Messagede choup78 » 10 Oct 2024, 10:38

Bonjour,

je travaille sur un programme pour faire calculer les incertitudes par Python mais je ne trouve pas comment arrondir un nombre décimal au supérieur (je trouve à l'entier supérieur avec ceil() mais pas à la décimale supérieure....
Par exemple si le calcul de mon incertitude donne 0,0121 j'aimerais l'arrondi à 0,02...

Quelqu'un de calé en Python pour m'aider?

Merci d'avance!
choup78
 
Messages: 231
Inscription: 16 Jan 2013, 19:39
Académie: versailles
Poste: Enseignant en Collège/Lycée

Re: Incertitudes sur Python

Messagede gts2 » 10 Oct 2024, 11:03

Quelque chose du genre :

def arrondi(x):
puiss=math.pow(10,math.floor(math.log10(x)))
y=math.ceil(x/puiss)*puiss
return y

peut-il convenir ?
gts2
 
Messages: 348
Inscription: 19 Fév 2019, 10:49
Académie: Orléans-Tours
Poste: Enseignant en Classes préparatoires

Re: Incertitudes sur Python

Messagede choup78 » 10 Oct 2024, 11:35

je ne comprends pas très bien où coller ça (je suis assez novice)

voilà mon programme:

import numpy as np

# Données: valeurs et incertitudes-types (en mm)
d=0,63
L,u_L = 45, 1
D,u_D = 3000, 2

# calcul de u_d, incertitude de type sur d (en mm)
u_d=d*np.sqrt((u_L/L)**2 + (u_D/D)**2)

# affichage du résultat: phrase réponse et résultat en mm

print("l'incertitude sur le diamètre du cheveu vaut u_d=",u_d,"mm")

Là ça me donne u(d) = 0,014.....

je voudrais que le logiciel me donne u_d=0,02

comment faire?
choup78
 
Messages: 231
Inscription: 16 Jan 2013, 19:39
Académie: versailles
Poste: Enseignant en Collège/Lycée

Re: Incertitudes sur Python

Messagede gts2 » 10 Oct 2024, 12:56

On définit la fonction arrondi au début (def) et on l'utilise ensuite :

import math
import numpy as np

def arrondi(x):
puiss=math.pow(10,math.floor(math.log10(x)))
y=math.ceil(x/puiss)*puiss
return y

# Données: valeurs et incertitudes-types (en mm)
d=0.63
L,u_L = 45, 1
D,u_D = 3000, 2

# calcul de u_d, incertitude de type sur d (en mm)
u_d=d*np.sqrt((u_L/L)**2 + (u_D/D)**2)
u_d=arrondi(u_d)

# affichage du résultat: phrase réponse et résultat en mm

print("l'incertitude sur le diamètre du cheveu vaut u_d=",u_d,"mm")
gts2
 
Messages: 348
Inscription: 19 Fév 2019, 10:49
Académie: Orléans-Tours
Poste: Enseignant en Classes préparatoires

Re: Incertitudes sur Python

Messagede choup78 » 10 Oct 2024, 16:53

Super merci bcp! ça marche! ;-)
choup78
 
Messages: 231
Inscription: 16 Jan 2013, 19:39
Académie: versailles
Poste: Enseignant en Collège/Lycée

Re: Incertitudes sur Python

Messagede yoyo » 10 Oct 2024, 18:06

Pas herpétologue j'essaie d'enseigner ma matière ce qui est déjà bien assez compliqué !
yoyo
 
Messages: 200
Inscription: 07 Nov 2012, 08:37
Localisation: 35
Académie: Rennes
Poste: Enseignant en Lycée

Re: Incertitudes sur Python

Messagede choup78 » 10 Oct 2024, 18:39

(je me fais inspecter cette année alors j'essaie de bien rentrer dans les clous....)
choup78
 
Messages: 231
Inscription: 16 Jan 2013, 19:39
Académie: versailles
Poste: Enseignant en Collège/Lycée

Re: Incertitudes sur Python

Messagede nash06 » 21 Oct 2024, 16:30

J'arrive un peu après la bataille, mais il me semble important de revenir sur un point :

Il n'y a pas de raison d'arrondir les incertitudes-types au supérieur. Il faut les arrondir au plus proche. En effet, dire que X=1,43 avec une incertitude-type de 0,20 par exemple, ça ne veut pas dire que X est compris entre 1,23 et 1,63 (autrement dit, ce n'est pas une "incertitude élargie" à 100%), mais c'est simplement un moyen d'estimer un écart-type des mesures possibles si on les répétait un grand nombre de fois.
Donc si l'incertitude-type calculée est 0,2037 par exemple, on écrit, en gardant 2 chiffres comme recommandé par le GUM (et le document suivant qui se base sur le GUM https://eduscol.education.fr/document/7067/download ) u(X)=0,20.
nash06
 
Messages: 20
Inscription: 16 Aoû 2016, 04:21
Académie: Créteil
Poste: Enseignant en Lycée


Retourner vers Les cours de Sciences Physiques : Enseigner quoi ? Comment ? Pourquoi ?

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités