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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
#include "header.h"
#include "global.h"
#include "publicmacros.h"
#include "memory.h"
int extra(int numFic, donnees *data,
Struc_Mat *temps_fluage, Struc_Mat *def_mes_fluage, Struc_Mat *def_mod_fluage, Struc_Param_Modele *coef_V)
{
/*
* Declarations
*/
double x[TAILLE_MAX], y[TAILLE_MAX], W[TAILLE_MAX], Z[TAILLE_MAX],
V[2], pente, ordonnee ;
double E[2], A[4];
int M, MAXFN, i, nb_points, ier;
double *x_temp=NULL, *y_temp=NULL, *res=NULL;
/*
* Obtention des elements necessaires a l'ajustement
*/
for (i=DECALAGE; i<data->compteur_fluage1; i++)
{
x[i-DECALAGE] = data->date_fluage1[i] - data->date_fluage1[0] ;
x[i-DECALAGE] /= 1000. ;
y[i-DECALAGE] = data->deflaser_fluage1[i] ;
}
/* Obtention des estimations initiales de a et b */
nb_points = data->compteur_fluage1-DECALAGE;
x_temp = calloc(nb_points, sizeof(double));
y_temp = calloc(nb_points, sizeof(double));
res = calloc(nb_points, sizeof(double));
if(x_temp == NULL || y_temp == NULL || res == NULL)
{
FREE(x_temp); FREE(y_temp); FREE(res);
return ERR_ALLOC;
}
for (i=0; i<nb_points; i++)
{
x_temp[i] = x[i];
y_temp[i] = y[i];
}
F_D(x_temp, y_temp, &nb_points, &pente, &ordonnee, res, &ier); |
Partager