Bonjour à tous,
Voici un bout du code que j'exécute:
Il s'agit d'une simple interpolation linéaire. Mon souci est que la valeur de a n'est pas correcte. Voici ce qui s'affiche dans le fenêtre de commande:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 y1=table_calib.displ(indice-1) y2=table_calib.displ(indice) x1=table_calib.coef(indice-1) x2=table_calib.coef(indice) temp1=double(y1-y2) temp2=double(x1-x2) a=double(temp1/temp2) b=y1-a*x1
J'obtiens un résultat différent si je divise temp1 par temp2 ou si je divise directement leur valeur. A quoi cela est il dû ? Ça ressemble à une erreur de troncature (grosse erreur tout de même!!) mais j'ai pourtant forcé le calcul en double précision.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 temp1 = -2.0350 temp2 = -0.0809 a = 25.1580 b = -8.0099e-04 >> temp1/temp2 ans = 25.1580 >> 2.0350/0.0809 ans = 25.1545
Merci d'avance!
Partager