Projet

Général

Profil

« Précédent | Suivant » 

Révision 429

Ajouté par Youssef MORSY il y a presque 3 ans

tp1&2 terminée

Voir les différences:

tag/rc_1/MORSY/tp_sp4_2022_MORSY/sp4a12/main.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<math.h>
#include "trame.h"
#define PI 3.14159
typedef struct {
float latitude;
float longtude;
}position;
typedef struct {
position pos;
float vitesse;
}zone;
//Trames de tests ? modifier si n?cessaire.
char * trames[]= {"$GPGSV,3,2,10,15,03,077,,18,04,041,42,19,85,271,,20,08,214,*7C",
"$GPGSV,3,3,10,22,39,053,50,28,15,320,*7E",
"$GPRMC,141914.00,A,4545.6424,N,00306.6036,E,0.4,99.4,010206,,*0C",
"$GPGLL,4545.6424,N,00306.6036,E,141914.00,A*0E",
"$GPGGA,141914.00,4545.0000,N,00306.6036,E,1,05,3.4,499.3,M,,M,,*7D",
"$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39",
"$GPVTG,99.4,T,,M,0.4,N,0.7,K*57",
"$GPZDA,141914.00,01,02,2006,00,00*69",
0};
//defenir la variable zone por la fonction distance_a_la_proche_zpne
zone zones[]= {
{{44.788776, -3.01200}, 50},
{{44.789122, -3.01300}, 70},
{{45.896654, 3.224569}, 60},
{{46.251478, 4.000000}, 80},
{{47.353711, 5.199235}, 90},
};
int nombre_zone=5;// defenir nombre de zones qui es la taille du variable zones
//Fonction ? modifier !!!!!
void traitement(char * trame)
{
static int cpt=0;
cpt++;
position p;
if (trame_cmp(trame, "GPGGA")==1){// verfifer les trames qui commencent par "GPGGA"
printf("%s\n",trame);
decode_trame(trame,&p);
printf("latitude= %f , longtude= %f \n",p.latitude,p.longtude);//afficher longtude et latitude de chaque trame en valeur flottant
}
}
int decode_int(char c){ //conversion caractere en ascii en nombre entier
int y;
int x=c;
if (x>=48 && x<=58){ //les chiffres de 0 a 9 sont rntre 48 et 58 dans le code Ascii
y=x-48;
}
else{
y =-1;
}
return y;
}
int trame_cmp(char*trame , char*type){
int i=0,s=0,y;
while(trame[i+1]==type[i] && type[i] != '/0' ){
i=i+1;
s=s+1;
}
int x=strlen(type);
if(s==x){
y=1;
}
else{
y=0;
}
return y;
}
int decode_nombre(char *ch,int n){ // renvoie les valeur decimales de n premiers caracteres
int i,j,p;
int s=0;
for (i=0;i<n;i++){
p=1;
for(j=0;j<n-1-i;j++){
p=p*10;
}
int a=decode_int(ch[i]);
s=s+a*p;
}
return s;
}
int decode_nombre2(char *ch,int i,int n) // renvoie les valeurs decimales du n caracteres a partir de i
{
int res=0;
int j;
for(j=i;j<i+n;j++)
{
res=(res*10)+decode_int(ch[j]);
}
return res;
}
float latitude (char*c){ //retrouver la valeur du latitude codee en sexagesimal en nombre flottants
int i=0,degre, secondes, minute;
double sommes;
while (c[i]!='.'){
i+=1;
}
if (i==4){
degre=decode_int(c[0])*10+decode_int(c[1]) ;//retrouver les degr?s en sexagesimal en nombre entier
secondes=(decode_int(c[5])*1000+decode_int(c[6])*100+decode_int(c[7])*10+decode_int(c[8]));//retrouver les secondes en sexagesimal en nombre flottants
minute=(decode_int(c[2])*10+decode_int(c[3])); //retrouver les minutes en sexagesimal en nombre flottants
sommes = degre + (minute*10000 + secondes)/(600000.0);
printf("\n degre1 : %d minute : %d secondes : %d somme : %2.10f somme direct : %2.10f \n",
degre, minute, secondes, sommes, degre + (minute*10000 + secondes)/(600000.0) );
return (float) sommes;
}
else{
}
}
float longtude (char*c){ //retrouver la valeur du longitudecodee en sexagesimal en nombre flottants
int i=0,degre, secondes, minute;
double sommes;
while (c[i]!='.'){
i+=1;
}
if (i==5){
degre=decode_int(c[0])*100+decode_int(c[1])*10+decode_int(c[2]) ; //retrouver les degr?s en sexagesimal en nombre entier
secondes=(decode_int(c[6])*1000+decode_int(c[7])*100+decode_int(c[8])*10+decode_int(c[9]));//retrouver les secondes en sexagesimal en nombre flottants
minute=(decode_int(c[3])*10+decode_int(c[4]));//retrouver les minutes en sexagesimal en nombre flottants
sommes = degre + (minute*10000 + secondes)/(600000.0);
printf("\n degre2 : %d minute : %d secondes : %d somme : %2.10f somme direct : %2.10f \n",
degre, minute, secondes, sommes, degre + (minute*10000 + secondes)/(600000.0) );
return (float) sommes;
}
else{
}
}
float lat_long (char *c) { // comme la fonction latitude et longitude
int i=0,degre, secondes, minute;
double sommes;
while (c[i]!='.'){
i+=1;
}
if (i==4) {
degre=decode_int(c[0])*10+decode_int(c[1]) ;
secondes=(decode_int(c[5])*1000+decode_int(c[6])*100+decode_int(c[7])*10+decode_int(c[8]));
minute=(decode_int(c[2])*10+decode_int(c[3]));
sommes = degre + (minute*10000 + secondes)/(600000.0);
printf("\n degre3 : %d minute : %d secondes : %d somme : %2.10f somme direct : %2.10f \n",
degre, minute, secondes, sommes, degre + (minute*10000 + secondes)/(600000.0) );
}
else{
degre=decode_int(c[0])*100+decode_int(c[1])*10+decode_int(c[2]) ;
secondes=(decode_int(c[6])*1000+decode_int(c[7])*100+decode_int(c[8])*10+decode_int(c[9]));
minute=(decode_int(c[3])*10+decode_int(c[4]));
sommes = degre + (minute*10000 + secondes)/(600000.0);
printf("\n degre4 : %d minute : %d secondes : %d somme : %2.10f somme direct : %2.10f \n",
degre, minute, secondes, sommes, degre + (minute*10000 + secondes)/(600000.0) );
}
return (float) sommes;
}
void decode_trame(char*c,position *p){ //fonction qui renvoie la valeurs du lattitude et longitudesdans la trames en nombre flottants et les enregistre dans la structure Position
int i=0,degre_long,degre_lat,secondes_long=0,secondes_lat=0,minute_lat=0,minute_long=0;
double sommes_lat=0,sommes_long=0;
degre_long=decode_int(c[29])*100+decode_int(c[30])*10+decode_int(c[31]) ;
secondes_long=decode_int(c[35])*1000+decode_int(c[36])*100+decode_int(c[37])*10+decode_int(c[38]);
minute_long=decode_int(c[32])*10+decode_int(c[33]);
sommes_long=degre_long+(minute_long*10000+secondes_long)/600000.0;
if(c[27]=='S') // la latitude est nord ou sud
{
sommes_lat = -sommes_lat;
}
degre_lat=decode_int(c[17])*10+decode_int(c[18]) ;
secondes_lat=decode_int(c[22])*1000+decode_int(c[23])*100+decode_int(c[24])*10+decode_int(c[25]);
minute_lat=decode_int(c[19])*10+decode_int(c[20]);
sommes_lat=degre_lat+(minute_lat*10000+secondes_lat)/600000.0;
if(c[40]=='W') // longitude ouest ou est
{
sommes_long= -sommes_long;
}
p ->latitude=sommes_lat;
p ->longtude=sommes_long;
}
float calcul_distance(position*p1,position*p2)
// calculer la distance entre deux points avec M?thode du loi des sinus
{
double distance;
distance=acos(sin(PI * p1 ->latitude/180.0)*sin(PI * p2 ->latitude/180.0)+cos(PI* p1 ->latitude/180.0)*cos(PI* p2 ->latitude/180.0)*cos(PI*(fabs(p1 ->longtude - p2 ->longtude))/180.0))*6371;
return (float) distance;
}
float calcul_vitesse(position*p1,position*p2) //calcul de la vitesse avec la fonction calcul_distance entre 2 points s?par?s d'une seconde
{
float vitesse;
vitesse= calcul_distance(&p1,&p2)*3600; // vitesse c (m/s) pour cela on a multiplie par 3600
return vitesse;
}
int distance_a_la_proche_zone(position p, zone r[],int nb_zones, float *d){
int i=0,dist,res;
dist=calcul_distance(&p,&r[0].pos); //la vriable dist est un variable pour nous aider a compares les distances
for(i=0;i<nb_zones;i++){
*d=calcul_distance(&p,&r[i].pos);
printf("\n distance: %f \n",*d);
if(-*d<dist<*d){ //comapres les distances et dis prends la plus pettes distances
dist=*d;
res=i; // recupere l'indice de la plus petite distance
}
}
return res;
}
//Ajouter vos tests unitaires dans cette fonction.
void tests_unitaires(void){
position p,p1,p2;
p1.latitude=35.968723;
p1.longtude=170.652056;
p2.longtude=156.831330;
p2.latitude=55.806160;
float distance=0.0;
if (5!=5){
printf ("Erreur Test unitaire basique.\n");
exit(-1);
}
if (trame_cmp("$GPGGA suite chaine","GPGGA")!=1){
printf ("Erreur Test unitaire trame_cmp.\n");
exit(-1);
}
if (trame_cmp("$GPRMC suite chaine","GPGGA")!=0){
printf ("Erreur Test unitaire trame_cmp1.\n");
exit(-1);
}
if (trame_cmp("$GPRMC... ", "GPRMC" )!=1){
printf ("Erreur Test unitaire trame_cmp2.\n");
exit(-1);
}
if (trame_cmp("$APRMC...", "GPGGA")!=0){
printf ("Erreur Test unitaire trame_cmp3.\n");
exit(-1);
}
//****************************
if(decode_int('6')!= 6){
printf ("Erreur Test unitaire decode_int.\n");
exit(-1);
}
if(decode_int('a')!= -1){
printf ("Erreur Test unitaire decode_int1.\n");
exit(-1);
}
//***********************
if(decode_nombre2("8697",0,2)!=86){
printf ("Erreur Test unitaire decode_nombre20.\n");
exit(-1);
}
if(decode_nombre2("78565",2,3)!=565){
printf ("Erreur Test unitaire decode_nombre21.\n");
exit(-1);
}
//**********************
if (decode_nombre("35789",3)!=357){
printf ("Erreur Test unitaire decode_nombre.\n");
exit(-1);
}
if (decode_nombre("25986452235",7)!=2598645){
printf ("Erreur Test unitaire decode_nombre2.\n");
exit(-1);
}
if (decode_nombre("2",1)!=2){
printf ("Erreur Test unitaire decode_nombre3.\n");
exit(-1);
}
if (decode_nombre("25986452235",7)==2578963){
printf ("Erreur Test unitaire decode_nombre4.\n");
exit(-1);
}
//********************************
if (longtude("13558.8889")-135,981481<0.000001 && 135,981481-longtude("13558.8889")<0.000001){
printf ("Erreur Test unitaire trame_cmp1.\n");
exit(-1);
}
if (longtude("10112.1415")-101,202358<0.000001 && 101,202358-longtude("10112.1415")<0.000001){
printf ("Erreur Test unitaire trame_cmp2.\n");
exit(-1);
}
//***********************************
if (latitude("3558.8889")-35,981481>0.000001 && 35,981481-latitude("3558.8889")<0.000001){
printf ("Erreur Test unitaire latitude.\n");
exit(-1);
}
if (latitude("0112.1415")-01,202358>0.000001 && 01,202358-latitude("0112.1415")<0.000001){
printf ("Erreur Test unitaire latitude1.\n");
exit(-1);
}
//*****************************
if (lat_long("13558.8889")-135.981481>0.000001 && 135.981481-lat_long("13358.8889")<0.000001){
printf ("Erreur Test unitaire lat-long.\n");
exit(-1);
}
if (fabs(lat_long("101122.1415")-101.202358 >10-6)) {
printf ("Erreur Test unitaire lat_long1.\n");
exit(-1);
}
if (lat_long("3558.8889")-35.981481>10-6 && 35.981481-lat_long("3558.8889")<10-6){
printf ("Erreur Test unitaire lat_long2.\n");
exit(-1);
}
if (lat_long("0112.1415")-01.202358>0.000001 && 01.202358-lat_long("0112.1415")<0.000001){
printf ("Erreur Test unitaire lat_long3.\n");
exit(-1);
}
/////////////////////////////////////////
decode_trame("$GPGGA,141914.00,3558.8889,N,10112.1415,E,1,05,3.4,499.3,M,,M,,*7D",&p);
if(fabs(fabs(p.latitude)-46.759373 >10-6)){
printf ("Erreur Test unitaire trame_cmp21\n");
exit(-1);
}
decode_trame("$GPGGA,141914.00,4645.5624,N,10112.1415,E,1,05,3.4,499.3,M,,M,,*7D",&p);
if(fabs(fabs(p.longtude)-101.202358 >10-6)){
printf ("Erreur Test unitaire trame_cmp25\n");
exit(-1);
}
///////////////////////////////////////
if(calcul_distance(&p1,&p2)<2441 && calcul_distance(&p1,&p2)>2442){
printf ("\n Erreur Test unitaire trame_cmp30\n");
exit(-1);
}
float a =calcul_distance(&p1,&p2);
printf("\n %f \n",a);
/////////////////////////////////////
if(calcul_vitesse(&p1,&p2)-8787832.909>0.01 && 8787832.909-calcul_distance(&p1,&p2)<0.01){
printf ("\n Erreur Test unitaire calcul_vitesse30.\n");
exit(-1);
}
/////////////////////////////////////
if(distance_a_la_proche_zone(p1,zones,nombre_zone,&distance)!=4){
printf ("Erreur Test unitaire calcul distance_a_la_proche_zone.\n");
exit(-1);
}
}
// Ne pas modifier cette fonction
int main(int argc,char ** argv)
{
tests_unitaires();
// Affichage des trames definies dans la table trames.
printf ("Trames de tests tableau trames:\n");
int i=0;
while (trames[i])
traitement(trames[i++]);
if (!trame_init())
exit(-1);
// Affichage des trames du fichier gps.log
char *trame;
printf ("Trames de tests du fichier gps.log\n");
while ((trame = trame_suivante()))
traitement(trame);
return 0;
}
tag/rc_1/MORSY/tp_sp4_2022_MORSY/sp4a12/gps.log
$GPGSV,3,2,10,15,03,077,,18,04,041,42,19,85,271,,20,08,214,*7C
$GPGSV,3,3,10,22,39,053,50,28,15,320,*7E
$GPRMC,141914.00,A,4545.6424,N,00306.6036,E,0.4,99.4,010206,,*0C
$GPGLL,4545.6424,N,00306.6036,E,141914.00,A*0E
$GPGGA,141914.00,4545.0000,N,00306.6036,E,1,05,3.4,499.3,M,,M,,*79
$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39
$GPVTG,99.4,T,,M,0.4,N,0.7,K*57
$GPZDA,141914.00,01,02,2006,00,00*69
$GPGSV,3,1,10,01,13,142,46,03,48,144,47,11,41,277,,14,27,104,42*75
$GPGSV,3,2,10,15,03,077,,18,04,041,41,19,85,271,,20,08,214,*7F
$GPGSV,3,3,10,22,39,053,48,28,15,320,*77
$GPRMC,141915.00,A,4545.6423,N,00306.6039,E,0.6,110.2,010206,,*31
$GPGLL,4545.6423,N,00306.6039,E,141915.00,A*07
$GPGGA,141915.00,4545.0242,N,00306.6039,E,1,05,3.4,499.5,M,,M,,*75
$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39
$GPVTG,110.2,T,,M,0.6,N,1.2,K*67
$GPZDA,141915.00,01,02,2006,00,00*68
$GPGSV,3,1,10,01,13,142,45,03,48,144,47,11,41,277,,14,27,104,41*75
$GPGSV,3,2,10,15,03,077,,18,04,041,42,19,85,271,,20,08,214,*7C
$GPGSV,3,3,10,22,39,053,49,28,15,320,*76
$GPRMC,141916.00,A,4545.6422,N,00306.6037,E,0.1,211.1,010206,,*3B
$GPGLL,4545.6422,N,00306.6037,E,141916.00,A*0B
$GPGGA,141916.00,4545.0484,N,00306.6037,E,1,05,3.4,500.0,M,,M,,*70
$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39
$GPVTG,211.1,T,,M,0.1,N,0.2,K*60
$GPZDA,141916.00,01,02,2006,00,00*6B
$GPGSV,3,1,10,01,13,142,45,03,48,144,48,11,41,277,,14,27,104,43*78
$GPGSV,3,2,10,15,03,077,,18,04,041,44,19,85,271,,20,08,214,*7A
$GPGSV,3,3,10,22,39,053,48,28,15,320,*77
$GPRMC,141917.00,A,4545.6422,N,00306.6039,E,0.3,122.3,010206,,*37
$GPGLL,4545.6422,N,00306.6039,E,141917.00,A*04
$GPGGA,141917.00,4545.0726,N,00306.6039,E,1,05,3.4,499.6,M,,M,,*73
$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39
$GPVTG,122.3,T,,M,0.3,N,0.5,K*64
$GPZDA,141917.00,01,02,2006,00,00*6A
$GPGSV,3,1,10,01,13,142,45,03,48,144,46,11,41,277,,14,27,104,41*74
$GPGSV,3,2,10,15,03,077,,18,04,041,42,19,85,271,,20,08,214,*7C
$GPGSV,3,3,10,22,39,053,48,28,15,320,*77
$GPRMC,141918.00,A,4545.6421,N,00306.6034,E,0.5,252.2,010206,,*35
$GPGLL,4545.6421,N,00306.6034,E,141918.00,A*05
$GPGGA,141918.00,4545.0968,N,00306.6034,E,1,05,3.4,498.8,M,,M,,*7A
$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39
$GPVTG,252.2,T,,M,0.5,N,1.0,K*63
$GPZDA,141918.00,01,02,2006,00,00*65
$GPGSV,3,1,10,01,13,142,45,03,48,144,48,11,41,277,,14,27,104,42*79
$GPGSV,3,2,10,15,03,077,,18,04,041,42,19,85,271,,20,08,214,*7C
$GPGSV,3,3,10,22,38,053,49,28,15,320,*77
$GPRMC,141919.00,A,4545.6420,N,00306.6040,E,0.6,95.2,010206,,*0C
$GPGLL,4545.6420,N,00306.6040,E,141919.00,A*06
$GPGGA,141919.00,4545.1210,N,00306.6040,E,1,05,3.4,500.2,M,,M,,*77
$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39
$GPVTG,95.2,T,,M,0.6,N,1.2,K*5B
$GPZDA,141919.00,01,02,2006,00,00*64
$GPGSV,3,1,10,01,13,142,46,03,48,144,49,11,41,277,,14,27,104,42*7B
$GPGSV,3,2,10,15,03,077,,18,04,041,43,19,85,271,,20,08,214,*7D
$GPGSV,3,3,10,22,38,053,49,28,15,320,*77
$GPRMC,141920.00,A,4545.6419,N,00306.6039,E,0.2,133.1,010206,,*38
$GPGLL,4545.6419,N,00306.6039,E,141920.00,A*08
$GPGGA,141920.00,4545.1410,N,00306.6039,E,1,05,3.4,500.0,M,,M,,*77
$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39
$GPVTG,133.1,T,,M,0.2,N,0.4,K*66
$GPZDA,141920.00,01,02,2006,00,00*6E
$GPGSV,3,1,10,01,13,142,45,03,48,144,46,11,41,277,,14,27,104,43*76
$GPGSV,3,2,10,15,03,077,,18,04,041,41,19,85,271,,20,08,214,*7F
$GPGSV,3,3,10,22,38,053,50,28,15,320,*7F
$GPRMC,141921.00,A,4545.6419,N,00306.6043,E,0.6,103.1,010206,,*33
$GPGLL,4545.6419,N,00306.6043,E,141921.00,A*04
$GPGGA,141921.00,4545.1610,N,00306.6043,E,1,05,3.4,499.8,M,,M,,*70
$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39
$GPVTG,103.1,T,,M,0.6,N,1.1,K*65
$GPZDA,141921.00,01,02,2006,00,00*6F
$GPGSV,3,1,10,01,13,142,46,03,48,144,48,11,41,277,,14,27,104,42*7A
$GPGSV,3,2,10,15,03,077,,18,04,041,42,19,85,271,,20,08,214,*7C
$GPGSV,3,3,10,22,38,053,48,28,15,320,*76
$GPRMC,141922.00,A,4545.6418,N,00306.6046,E,0.7,96.9,010206,,*00
$GPGLL,4545.6418,N,00306.6046,E,141922.00,A*03
$GPGGA,141922.00,4545.1810,N,00306.6046,E,1,05,3.4,500.6,M,,M,,*77
$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39
$GPVTG,96.9,T,,M,0.7,N,1.3,K*53
$GPZDA,141922.00,01,02,2006,00,00*6C
$GPGSV,3,1,10,01,13,142,47,03,48,144,46,11,41,277,,14,27,104,43*74
$GPGSV,3,2,10,15,03,077,,18,04,041,43,19,85,271,,20,08,214,*7D
$GPGSV,3,3,10,22,38,053,48,28,15,320,*76
$GPRMC,141923.00,A,4545.6417,N,00306.6046,E,0.3,113.6,010206,,*39
$GPGLL,4545.6417,N,00306.6046,E,141923.00,A*0D
$GPGGA,141923.00,4545.2010,N,00306.6046,E,1,05,3.4,500.6,M,,M,,*7D
$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39
$GPVTG,113.6,T,,M,0.3,N,0.7,K*61
$GPZDA,141923.00,01,02,2006,00,00*6D
$GPGSV,3,1,10,01,13,142,45,03,48,144,47,11,41,277,,14,27,104,41*75
$GPGSV,3,2,10,15,03,077,,18,04,041,43,19,85,271,,20,08,214,*7D
$GPGSV,3,3,10,22,38,053,49,28,15,320,*77
$GPRMC,141924.00,A,4545.6416,N,00306.6044,E,0.2,197.7,010206,,*31
$GPGLL,4545.6416,N,00306.6044,E,141924.00,A*09
$GPGGA,141924.00,4545.2210,N,00306.6044,E,1,05,3.4,500.5,M,,M,,*79
$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39
$GPVTG,197.7,T,,M,0.2,N,0.4,K*6E
$GPZDA,141924.00,01,02,2006,00,00*6A
$GPGSV,3,1,10,01,13,142,45,03,48,144,47,11,41,277,,14,27,104,40*74
$GPGSV,3,2,10,15,03,077,,18,04,041,43,19,85,271,,20,08,214,*7D
$GPGSV,3,3,10,22,38,053,49,28,15,320,*77
$GPRMC,141925.00,A,4545.6415,N,00306.6046,E,0.2,130.8,010206,,*33
$GPGLL,4545.6415,N,00306.6046,E,141925.00,A*09
$GPGGA,141925.00,4545.2410,N,00306.6046,E,1,05,3.4,501.4,M,,M,,*7C
$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39
$GPVTG,130.8,T,,M,0.2,N,0.5,K*6D
$GPZDA,141925.00,01,02,2006,00,00*6B
$GPGSV,3,1,10,01,13,142,45,03,48,144,47,11,41,277,,14,27,104,40*74
$GPGSV,3,2,10,15,03,077,,18,04,041,41,19,85,271,,20,08,214,*7F
$GPGSV,3,3,10,22,38,053,47,28,15,320,*79
$GPRMC,141926.?E,0.2,260.8,010206,,*34
tag/rc_1/MORSY/tp_sp4_2022_MORSY/sp4a12/trame.c
/* Fichier trames.c - Gestion et decodage des trames */
/* Ce fichier sera fourni */
#include <stdio.h>
#include <stdlib.h>
#include "trame.h"
#define FICHIER_TRAMES "gps.log" /* Par exemple */
#define MAX_FRAME_LENGTH 80
static char trame_buf[MAX_FRAME_LENGTH];
static FILE *trame_fic;
int trame_init(void)
{
trame_fic = fopen(FICHIER_TRAMES, "r");
if (trame_fic)
return 1;
fprintf(stderr, "Impossible d'ouvrir le fichier %s\n", FICHIER_TRAMES);
return 0;
}
char *trame_suivante(void)
{
return fgets(trame_buf, MAX_FRAME_LENGTH-1, trame_fic);
}
tag/rc_1/MORSY/tp_sp4_2022_MORSY/sp4a12/sp4a.cbp
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="sp4a" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug">
<Option output="sp4a" prefix_auto="1" extension_auto="1" />
<Option object_output=".\debug" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-g" />
</Compiler>
</Target>
</Build>
<Compiler>
<Add option="-Wall" />
</Compiler>
<Unit filename="gps.log" />
<Unit filename="main.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="trame.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="trame.h" />
<Extensions>
<code_completion />
<envvars />
<debugger />
<lib_finder disable_auto="1" />
</Extensions>
</Project>
</CodeBlocks_project_file>
tag/rc_1/MORSY/tp_sp4_2022_MORSY/sp4a12/trame.h
int trame_init(void);
char * trame_suivante(void);
tag/rc_1/MORSY/tp_sp4_2022_MORSY/sp4a3/sp4a3_kalman.cbp
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="sp4a3_kalman" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug">
<Option output="./test_kalman" prefix_auto="1" extension_auto="1" />
<Option object_output="." />
<Option type="1" />
<Option compiler="gcc" />
<Option parameters="debug" />
<Compiler>
<Add option="-g" />
</Compiler>
</Target>
<Target title="Release">
<Option output="./test_kalman" prefix_auto="1" extension_auto="1" />
<Option object_output="." />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-O2" />
</Compiler>
<Linker>
<Add option="-s" />
</Linker>
</Target>
</Build>
<Compiler>
<Add option="-Wall" />
</Compiler>
<Unit filename="sp4a3_kalman.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="sp4a3_kalman_extra.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="sp4a3_kalman_extra.h" />
<Extensions>
<code_completion />
<envvars />
<debugger />
<lib_finder disable_auto="1" />
</Extensions>
</Project>
</CodeBlocks_project_file>
tag/rc_1/MORSY/tp_sp4_2022_MORSY/sp4a3/sp4a3_kalman_extra.c
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#define error(a) _error(__LINE__,a)
void _error(int l,char * r){
printf("Erreur Ligne (%d) : %s",l,r);
exit(1);
}
int debug=1;
void _Plot_Mat(int n,int m,double in[n][m], const char* name){
int i,j;
if (!debug) return;
printf("\n%s[%d][%d]\n",name,n,m);
for (i=0;i<n;i++)
{
for (j=0;j<m;j++)
printf("%f\t",in[i][j]);
printf("\n");
}
}
#define Equal_Mat_Mat(Mat_A,Mat_B) _Equal_Mat_Mat(sizeof(Mat_A)/sizeof(Mat_A[0]),sizeof(Mat_A[0])/sizeof(Mat_A[0][0]),Mat_A,sizeof(Mat_B)/sizeof(Mat_B[0]),sizeof(Mat_B[0])/sizeof(Mat_B[0][0]),Mat_B)
int _Equal_Mat_Mat(int na,int ma,double A[na][ma],int nb,int mb,double B[nb][mb]){
int i,j;
if (na!=nb) return 0;
if (ma!=mb) return 0;
for(i=0;i<na;i++)
for(j=0;j<ma;j++){
if (fabs(A[i][j]-B[i][j])>1e-6)
return 0;
}
return 1;
}
tag/rc_1/MORSY/tp_sp4_2022_MORSY/sp4a3/vitesse_reelle.dat
120000.100000 0.000000
120000.200000 0.000000
120000.300000 0.000000
120000.400000 0.000000
120000.500000 0.000000
120000.600000 0.000000
120000.700000 0.000000
120000.800000 0.000000
120000.900000 0.000000
120001.000000 0.000000
120001.100000 0.000000
120001.200000 0.000000
120001.300000 0.000000
120001.400000 0.000000
120001.500000 0.000000
120001.600000 0.000000
120001.700000 0.000000
120001.800000 0.000000
120001.900000 0.000000
120002.000000 0.000000
120002.100000 0.000000
120002.200000 0.000000
120002.300000 0.000000
120002.400000 0.000000
120002.500000 0.000000
120002.600000 0.000000
120002.700000 0.000000
120002.800000 0.000000
120002.900000 0.000000
120003.000000 0.000000
120003.100000 0.000000
120003.200000 0.000000
120003.300000 0.000000
120003.400000 0.000000
120003.500000 0.000000
120003.600000 0.000000
120003.700000 0.000000
120003.800000 0.000000
120003.900000 0.000000
120004.000000 0.000000
120004.100000 0.000000
120004.200000 0.000000
120004.300000 0.000000
120004.400000 0.000000
120004.500000 0.000000
120004.600000 0.000000
120004.700000 0.000000
120004.800000 0.000000
120004.900000 0.000000
120005.000000 0.000000
120005.100000 0.000000
120005.200000 0.000000
120005.300000 0.000000
120005.400000 0.000000
120005.500000 0.000000
120005.600000 0.000000
120005.700000 0.000000
120005.800000 0.000000
120005.900000 0.000000
120006.000000 0.000000
120006.100000 0.000000
120006.200000 0.000000
120006.300000 0.000000
120006.400000 0.000000
120006.500000 0.000000
120006.600000 0.000000
120006.700000 0.000000
120006.800000 0.000000
120006.900000 0.000000
120007.000000 0.000000
120007.100000 0.000000
120007.200000 0.000000
120007.300000 0.000000
120007.400000 0.000000
120007.500000 0.000000
120007.600000 0.000000
120007.700000 0.000000
120007.800000 0.000000
120007.900000 0.000000
120008.000000 0.000000
120008.100000 0.000000
120008.200000 0.000000
120008.300000 0.000000
120008.400000 0.000000
120008.500000 0.000000
120008.600000 0.000000
120008.700000 0.000000
120008.800000 0.000000
120008.900000 0.000000
120009.000000 0.000000
120009.100000 0.000000
120009.200000 0.000000
120009.300000 0.000000
120009.400000 0.000000
120009.500000 0.000000
120009.600000 0.000000
120009.700000 0.000000
120009.800000 0.000000
120009.900000 0.000000
120010.000000 0.000000
120010.100000 0.000000
120010.200000 0.000000
120010.300000 0.000000
120010.400000 0.000000
120010.500000 0.000000
120010.600000 0.000000
120010.700000 0.000000
120010.800000 0.000000
120010.900000 0.000000
120011.000000 0.000000
120011.100000 0.000000
120011.200000 0.000000
120011.300000 0.000000
120011.400000 0.000000
120011.500000 0.000000
120011.600000 0.000000
120011.700000 0.000000
120011.800000 0.000000
120011.900000 0.000000
120012.000000 0.000000
120012.100000 0.000000
120012.200000 0.000000
120012.300000 0.000000
120012.400000 0.000000
120012.500000 0.000000
120012.600000 0.000000
120012.700000 0.000000
120012.800000 0.000000
120012.900000 0.000000
120013.000000 0.000000
120013.100000 0.000000
120013.200000 0.000000
120013.300000 0.000000
120013.400000 0.000000
120013.500000 0.000000
120013.600000 0.000000
120013.700000 0.000000
120013.800000 0.000000
120013.900000 0.000000
120014.000000 0.000000
120014.100000 0.000000
120014.200000 0.000000
120014.300000 0.000000
120014.400000 0.000000
120014.500000 0.000000
120014.600000 0.000000
120014.700000 0.000000
120014.800000 0.000000
120014.900000 0.000000
120015.000000 0.000000
120015.100000 0.000000
120015.200000 0.000000
120015.300000 0.000000
120015.400000 0.000000
120015.500000 0.000000
120015.600000 0.000000
120015.700000 0.000000
120015.800000 0.000000
120015.900000 0.000000
120016.000000 0.000000
120016.100000 0.000000
120016.200000 0.000000
120016.300000 0.000000
120016.400000 0.000000
120016.500000 0.000000
120016.600000 0.000000
120016.700000 0.000000
120016.800000 0.000000
120016.900000 0.000000
120017.000000 0.000000
120017.100000 0.000000
120017.200000 0.000000
120017.300000 0.000000
120017.400000 0.000000
120017.500000 0.000000
120017.600000 0.000000
120017.700000 0.000000
120017.800000 0.000000
120017.900000 0.000000
120018.000000 0.000000
120018.100000 0.133414
120018.200000 0.000000
120018.300000 0.000000
120018.400000 0.186168
120018.500000 0.000000
120018.600000 0.133414
120018.700000 0.133414
120018.800000 0.186168
120018.900000 0.133414
120019.000000 0.133414
120019.100000 0.186168
120019.200000 0.186168
120019.300000 0.133414
120019.400000 0.296744
120019.500000 0.186168
120019.600000 0.296744
120019.700000 0.186168
120019.800000 0.372337
120019.900000 0.186168
120020.000000 0.372337
120020.100000 0.296744
120020.200000 0.372337
120020.300000 0.296744
120020.400000 0.372337
120020.500000 0.296744
120020.600000 0.477108
120020.700000 0.296744
120020.800000 0.420777
120020.900000 0.400243
120021.000000 0.420777
120021.100000 0.420777
120021.200000 0.420777
120021.300000 0.420777
120021.400000 0.420777
120021.500000 0.477107
120021.600000 0.477107
120021.700000 0.477107
120021.800000 0.660699
120021.900000 0.558505
120022.000000 0.558505
120022.100000 0.660699
120022.200000 0.558505
120022.300000 0.593487
120022.400000 0.660699
120022.500000 0.593487
120022.600000 0.660699
120022.700000 0.660699
120022.800000 0.593486
120022.900000 0.660699
120023.000000 0.660699
120023.100000 0.772474
120023.200000 0.660699
120023.300000 0.660699
120023.400000 0.772474
120023.500000 0.772474
120023.600000 0.744674
120023.700000 0.772474
120023.800000 0.772474
120023.900000 0.660699
120024.000000 0.772474
120024.100000 0.890229
120024.200000 0.772474
120024.300000 0.715834
120024.400000 0.810945
120024.500000 0.841552
120024.600000 0.810944
120024.700000 0.679588
120024.800000 0.810944
120024.900000 0.969329
120025.000000 0.810944
120025.100000 0.841551
120025.200000 0.841551
120025.300000 0.942878
120025.400000 0.841551
120025.500000 0.969328
120025.600000 0.969328
120025.700000 0.942877
120025.800000 0.969327
120025.900000 0.969327
120026.000000 0.969327
120026.100000 0.969327
120026.200000 1.011875
120026.300000 1.011875
120026.400000 1.068601
120026.500000 1.137385
120026.600000 1.137385
120026.700000 1.137385
120026.800000 1.137385
120026.900000 1.137385
120027.000000 1.249252
120027.100000 1.137385
120027.200000 1.249251
120027.300000 1.137385
120027.400000 1.249251
120027.500000 1.137384
120027.600000 1.249251
120027.700000 1.321395
120027.800000 1.249251
120027.900000 1.249251
120028.000000 1.321395
120028.100000 1.249250
120028.200000 1.321394
120028.300000 1.431316
120028.400000 1.249250
120028.500000 1.321394
120028.600000 1.431315
120028.700000 1.249250
120028.800000 1.431315
120028.900000 1.431315
120029.000000 1.321394
120029.100000 1.431315
120029.200000 1.431315
120029.300000 1.431314
120029.400000 1.431314
120029.500000 1.431314
120029.600000 1.431314
120029.700000 1.431314
120029.800000 1.483704
120029.900000 1.364991
120030.000000 1.483704
120030.100000 1.431655
120030.200000 1.431655
120030.300000 1.483703
120030.400000 1.483702
120030.500000 1.483702
120030.600000 1.544937
120030.700000 1.614314
120030.800000 1.544937
120030.900000 1.661506
120031.000000 1.544936
120031.100000 1.544936
120031.200000 1.604724
120031.300000 1.604724
120031.400000 1.604723
120031.500000 1.544935
120031.600000 1.661504
120031.700000 1.661504
120031.800000 1.661503
120031.900000 1.604722
120032.000000 1.604721
120032.100000 1.604721
120032.200000 1.683079
120032.300000 1.727569
120032.400000 1.556722
120032.500000 1.727568
120032.600000 1.727567
120032.700000 1.604719
120032.800000 1.840959
120032.900000 1.726200
120033.000000 1.840959
120033.100000 1.797962
120033.200000 1.840958
120033.300000 1.840958
120033.400000 1.840958
120033.500000 1.780433
120033.600000 1.851873
120033.700000 1.780432
120033.800000 1.851872
120033.900000 1.810438
120034.000000 1.810438
120034.100000 1.810437
120034.200000 1.777543
120034.300000 1.810436
120034.400000 1.851869
120034.500000 1.851869
120034.600000 1.977364
120034.700000 1.901284
120034.800000 1.958076
120034.900000 1.851867
120035.000000 2.023716
120035.100000 1.810431
120035.200000 1.977361
120035.300000 1.977360
120035.400000 1.938609
120035.500000 1.851863
120035.600000 1.938608
120035.700000 1.977358
120035.800000 2.067448
120035.900000 1.907923
120036.000000 1.938605
120036.100000 2.017920
120036.200000 1.907920
120036.300000 2.005346
120036.400000 1.885696
120036.500000 2.017917
120036.600000 2.017916
120036.700000 2.017916
120036.800000 2.017915
120036.900000 2.017914
120037.000000 1.885692
120037.100000 2.150280
120037.200000 2.017911
120037.300000 2.017911
120037.400000 2.017910
120037.500000 2.038691
120037.600000 2.017908
120037.700000 2.067433
120037.800000 2.196818
120037.900000 2.103811
120038.000000 2.067431
120038.100000 2.067430
120038.200000 2.169785
120038.300000 2.150269
120038.400000 2.017901
120038.500000 2.150268
120038.600000 2.169781
120038.700000 2.150266
120038.800000 2.150265
120038.900000 2.150264
120039.000000 2.017896
120039.100000 2.150262
120039.200000 1.885675
120039.300000 2.017894
120039.400000 1.885673
120039.500000 2.017892
120039.600000 1.885672
120039.700000 2.017890
120039.800000 1.885670
120039.900000 1.885669
120040.000000 1.753629
120040.100000 1.753628
120040.200000 1.753628
120040.300000 1.621812
120040.400000 1.621811
120040.500000 1.647597
120040.600000 1.490278
120040.700000 1.359111
120040.800000 1.359111
120040.900000 1.490277
120041.000000 1.389779
120041.100000 1.389779
120041.200000 1.389779
120041.300000 1.262274
120041.400000 1.136125
120041.500000 1.262273
120041.600000 1.011840
120041.700000 1.136124
120041.800000 0.969284
120041.900000 0.890199
120042.000000 0.969284
120042.100000 0.841515
120042.200000 0.890199
120042.300000 0.890199
120042.400000 0.890199
120042.500000 0.954193
120042.600000 0.845408
120042.700000 1.030649
120042.800000 1.117011
120042.900000 1.025643
120043.000000 1.127450
120043.100000 1.127450
120043.200000 1.234531
120043.300000 1.345627
120043.400000 1.284732
120043.500000 1.284733
120043.600000 1.358796
120043.700000 1.358796
120043.800000 1.483381
120043.900000 1.483381
120044.000000 1.453078
120044.100000 1.563924
120044.200000 1.434588
120044.300000 1.693339
120044.400000 1.563924
120044.500000 1.558224
120044.600000 1.693339
120044.700000 1.693339
120044.800000 1.563924
120044.900000 1.693339
120045.000000 1.734870
120045.100000 1.709031
120045.200000 1.580901
120045.300000 1.734870
120045.400000 1.861460
120045.500000 1.709031
120045.600000 1.734869
120045.700000 1.861460
120045.800000 1.709030
120045.900000 1.861459
120046.000000 1.861459
120046.100000 1.861459
120046.200000 1.837401
120046.300000 1.861459
120046.400000 1.861459
120046.500000 2.019552
120046.600000 1.861458
120046.700000 1.936435
120046.800000 1.936435
120046.900000 1.815081
120047.000000 1.929158
120047.100000 1.868231
120047.200000 1.929158
120047.300000 1.868231
120047.400000 1.929158
120047.500000 1.868230
120047.600000 1.929157
120047.700000 1.929157
120047.800000 1.868229
120047.900000 2.043747
120048.000000 1.929156
120048.100000 1.929156
120048.200000 1.986337
120048.300000 1.929156
120048.400000 2.043746
120048.500000 1.929155
120048.600000 2.043746
120048.700000 1.986336
120048.800000 2.043745
120048.900000 1.929154
120049.000000 2.043745
120049.100000 2.043744
120049.200000 2.043744
120049.300000 2.043744
120049.400000 2.043744
120049.500000 2.043743
120049.600000 2.043743
120049.700000 2.043743
120049.800000 2.043743
120049.900000 2.043742
120050.000000 2.043742
120050.100000 2.043742
120050.200000 2.043742
120050.300000 2.160059
120050.400000 2.108042
120050.500000 2.043741
120050.600000 2.043741
120050.700000 2.160058
120050.800000 2.108041
120050.900000 2.160057
120051.000000 2.043739
120051.100000 2.108040
120051.200000 2.160056
120051.300000 2.160056
120051.400000 2.108039
120051.500000 2.160055
120051.600000 2.108039
120051.700000 2.220991
120051.800000 2.108038
120051.900000 2.108038
120052.000000 2.071505
120052.100000 2.071505
120052.200000 2.178619
120052.300000 1.967131
120052.400000 2.151577
120052.500000 2.051282
120052.600000 1.954470
120052.700000 2.047853
120052.800000 2.047853
120052.900000 1.959495
120053.000000 1.959495
120053.100000 1.982072
120053.200000 1.982072
120053.300000 1.908396
120053.400000 2.021613
120053.500000 1.908396
120053.600000 1.901266
120053.700000 1.958062
120053.800000 1.851850
120053.900000 2.023700
120054.000000 1.810415
120054.100000 1.938594
120054.200000 1.938595
120054.300000 1.907911
120054.400000 1.885689
120054.500000 1.885690
120054.600000 2.005340
120054.700000 1.872231
120054.800000 2.001133
120054.900000 1.872233
120055.000000 2.005343
120055.100000 1.885695
120055.200000 2.017917
120055.300000 2.017918
120055.400000 1.885697
120055.500000 2.017919
120055.600000 2.005348
120055.700000 2.005349
120055.800000 2.001141
120055.900000 2.005350
120056.000000 2.001143
120056.100000 2.001144
120056.200000 2.134554
120056.300000 2.005354
120056.400000 2.017927
120056.500000 2.038709
120056.600000 2.067453
120056.700000 2.196841
120056.800000 2.103833
120056.900000 2.147459
120057.000000 2.147460
120057.100000 2.147460
120057.200000 2.272297
120057.300000 2.147462
120057.400000 2.231116
120057.500000 2.231117
120057.600000 2.196848
120057.700000 2.196849
120057.800000 2.169822
120057.900000 2.169823
120058.000000 2.169824
120058.100000 2.282802
120058.200000 2.150312
120058.300000 2.271699
120058.400000 2.138521
120058.500000 2.267987
120058.600000 2.138523
120058.700000 2.271703
120058.800000 2.150318
120058.900000 2.271705
120059.000000 2.150320
120059.100000 2.150321
120059.200000 2.150322
120059.300000 2.138530
120059.400000 2.150324
120059.500000 2.138531
120059.600000 2.150326
120059.700000 2.138533
120059.800000 2.271714
120059.900000 2.150329
120060.000000 2.138536
120060.100000 2.282823
120060.200000 2.150332
120060.300000 2.138539
120060.400000 2.282826
120060.500000 2.138541
120060.600000 2.282828
120060.700000 2.169849
120060.800000 2.282830
120060.900000 2.301221
120061.000000 2.196879
120061.100000 2.169853
120061.200000 2.301224
120061.300000 2.169855
120061.400000 2.301226
120061.500000 2.169857
120061.600000 2.282838
120061.700000 2.301229
120061.800000 2.150347
120061.900000 2.282842
120062.000000 2.271738
120062.100000 2.271739
120062.200000 2.150351
120062.300000 2.282846
120062.400000 2.301236
120062.500000 2.169866
120062.600000 2.301238
120062.700000 2.196894
120062.800000 2.326741
120062.900000 2.231163
120063.000000 2.359124
120063.100000 2.272345
120063.200000 2.443379
120063.300000 2.272346
120063.400000 2.320072
120063.500000 2.373947
120063.600000 2.373948
120063.700000 2.373949
120063.800000 2.373949
120063.900000 2.254741
120064.000000 2.443385
120064.100000 2.272352
120064.200000 2.272353
120064.300000 2.359136
120064.400000 2.231176
120064.500000 2.326757
120064.600000 2.196911
120064.700000 2.301259
120064.800000 2.282872
120064.900000 2.150377
120065.000000 2.150378
120065.100000 2.268056
120065.200000 2.271771
120065.300000 2.138589
120065.400000 2.138590
120065.500000 2.138591
120065.600000 2.282880
120065.700000 2.169896
120065.800000 2.169897
120065.900000 2.196923
120066.000000 2.231189
120066.100000 2.231190
120066.200000 2.231191
120066.300000 2.231192
120066.400000 2.147528
120066.500000 2.272371
120066.600000 2.231194
120066.700000 2.103910
120066.800000 2.272374
120066.900000 2.197966
120067.000000 2.254759
120067.100000 2.351318
120067.200000 2.331491
120067.300000 2.351318
120067.400000 2.331491
120067.500000 2.351319
120067.600000 2.351319
120067.700000 2.432376
120067.800000 2.351319
120067.900000 2.351319
120068.000000 2.351320
120068.100000 2.351320
120068.200000 2.166581
120068.300000 2.274791
120068.400000 2.203262
120068.500000 2.197975
120068.600000 2.077232
120068.700000 2.197976
120068.800000 2.147543
120068.900000 2.147544
120069.000000 2.147544
120069.100000 2.147545
120069.200000 2.196950
120069.300000 2.103928
120069.400000 2.169928
120069.500000 2.067557
120069.600000 2.169930
120069.700000 2.150420
120069.800000 2.038821
120069.900000 2.150422
120070.000000 2.150423
120070.100000 2.169934
120070.200000 2.018047
120070.300000 2.038826
120070.400000 2.150426
120070.500000 2.038827
120070.600000 2.018051
120070.700000 2.138638
120070.800000 2.138639
120070.900000 2.001276
120071.000000 2.150432
120071.100000 2.005485
120071.200000 2.150434
120071.300000 2.150435
120071.400000 2.169946
120071.500000 2.169947
120071.600000 2.038836
120071.700000 2.231234
120071.800000 2.103946
120071.900000 2.197996
120072.000000 2.023812
120072.100000 2.197997
120072.200000 2.254787
120072.300000 2.197998
120072.400000 2.317467
120072.500000 2.137253
120072.600000 2.317468
120072.700000 2.274806
120072.800000 2.385574
120072.900000 2.274806
120073.000000 2.317470
120073.100000 2.317471
120073.200000 2.254792
120073.300000 2.254793
120073.400000 2.320141
120073.500000 2.198006
120073.600000 2.272423
120073.700000 2.272424
120073.800000 2.231251
120073.900000 2.231251
120074.000000 2.196990
120074.100000 2.196991
120074.200000 2.231254
120074.300000 2.196993
120074.400000 2.301350
120074.500000 2.169973
120074.600000 2.196996
120074.700000 2.169975
120074.800000 2.282968
120074.900000 2.150468
120075.000000 2.150469
120075.100000 2.005520
120075.200000 1.867893
120075.300000 2.001315
120075.400000 1.867894
120075.500000 1.734474
120075.600000 1.872403
120075.700000 1.601054
120075.800000 1.606311
120075.900000 1.606311
120076.000000 1.490430
120076.100000 1.647755
120076.200000 1.604802
120076.300000 1.604802
120076.400000 1.604803
120076.500000 1.727664
120076.600000 1.604803
120076.700000 1.727665
120076.800000 1.544991
120076.900000 1.604804
120077.000000 1.544992
120077.100000 1.544992
120077.200000 1.431354
120077.300000 1.365044
120077.400000 1.365044
120077.500000 1.321421
120077.600000 1.249289
120077.700000 1.187016
120077.800000 1.137410
120077.900000 1.068638
120078.000000 1.068638
120078.100000 0.954237
120078.200000 0.772497
120078.300000 0.954237
120078.400000 0.772497
120078.500000 0.772497
120078.600000 0.660711
120078.700000 0.660711
120078.800000 0.593509
120078.900000 0.744674
120079.000000 0.558505
120079.100000 0.558505
120079.200000 0.744674
120079.300000 0.655689
120079.400000 0.701880
120079.500000 0.762655
120079.600000 0.701880
120079.700000 0.875827
120079.800000 0.790354
120079.900000 0.947211
... Ce différentiel a été tronqué car il excède la taille maximale pouvant être affichée.

Formats disponibles : Unified diff