Erreur de Calcul d'un cosinus (sous Delphi 7 personnel)
Fushi
Messages postés2Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention18 décembre 2009
-
17 déc. 2009 à 10:14
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 2016
-
18 déc. 2009 à 08:56
Bonjour
J'ai un petit problème avec Delphi 7.
Avec la partie de programme si dessous la valeur des résulats est érroné. En exécutant le programme pas à pas, et surveillant les valeurs les cosinus ne corresponde pas.
Les valeurs LatDep,LongDep,Latfin,LongFin sont en radians.
Même pour l'arccos(E15) en forcant la valeur E15 à 0,006507 le programme me trouve une valeur à 6.XXX e-304 alors que si je mets dans les points suivi arccos(0.006507) il me donne 1,5642..... la bonne valeur.
Seriez vous d'ou peut venir mon problème ?
Merci d'avance
Christophe.
Function Az(LatDep,LongDep,LatFin,LongFin:real):Real;
Var U2,U1,g,tt,tt1,C1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c15,E15,rest : extended;
Begin
C1:=LatDep; // en Radians 0,84150080
C2:=LongDep; // en Radians 0,04670210
C3:=LatFin; // en Radians 0,84150080
C4:=longFin; // en Radians 0,02924881
C7:=Cos(radtodeg((1.5707)-C3));
C9:=Sin((Pi/2)-C1);
C10:=Cos((Pi/2)-C1);
C11:=arccos(Sin(C1)*Sin(C3)+Cos(C1)*Cos(C3)*Cos(C2-C4));
C12:=Sin(C11);
C13:=Cos(C11);
If (C9*C12)<>0 then
E15:=(C7-(C10*C13))/(C9*C12);
rest:=arccos(E15);