< Mathc matrices


Sommaire


Installer ce fichier dans votre répertoire de travail.

vg_i.h
'
/* ------------------------------------ */
/*  Save as :   vg_i.h                  */
/* ------------------------------------ */ 
double **i_AbR0_mR(
int     Ab_r,
int      A_c,
int      b_c
)
{
double **Ab;
int c;

   if( Ab_r < R2 || A_c<C2 || b_c<C1)
            {
            printf(" Error : double **iAbR0_mR(); \n\n");
            printf(" A_c, b_c must be : Ab_r < R2 || A_c<C2 || b_c<C1 \n\n");
            printf(" This matrix is to study linear sytem.\n\n");
            fflush(stdout);
            getchar();
            exit(EXIT_FAILURE);
            }

   Ab = i_mR( Ab_r,A_c+b_c); 

   for(c=C1; c<Ab[C_SIZE][C0]; c++) 

        Ab[R0][c] = c;

   Ab[C_SIZE_A][C0] = A_c+C1; 

return(Ab);
}
/* ------------------------------------ */   
double **i_duplicateR0_mR(
int      r,
int      c
)
{
double **A = i_mR(--r,--c);

  for(c=C1; c<A[C_SIZE][C0]; c++) 

        A[R0][c] = c;

return(A);
}
/* ------------------------------------ */   
double **i_duplicateAbR0_Ab_c_A_c_mR(
int     Ab_r,
int     Ab_c,
int      A_c
)
{
double **Ab = i_mR(--Ab_r,--Ab_c);
int c;

  for(c=C1; c<Ab[C_SIZE][C0]; c++) 

        Ab[R0][c] = c;

  Ab[C_SIZE_A][C0] = A_c; 

return(Ab);
}
/* ------------------------------------ */   
/* ------------------------------------ */


C'est dans ce fichier que l'on créé les matrices temporaires.

i_AbR0_mR(); 
i_duplicateR0_mR();
i_duplicateAbR0_Ab_c_A_c_mR();

Dans cette partie du programme on index la ligne zéro. Cela permettra de remettre les colonnes dans le bon ordre.
   for(c=C1; c<Ab[C_SIZE][C0]; c++) 

        Ab[R0][c] = c;
Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.