Mathc matrices/c32b

Un livre de Wikilivres.


Application


Installer et compiler ces fichiers dans votre répertoire de travail.


c01b.c
/* ------------------------------------ */
/*  Save as :   c01b.c                  */
/* ------------------------------------ */
#include      "v_a.h"
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  
double ta[R3*C4]={ 1,0,0, 1,
                   0,1,0, 2,
                   0,0,1, 3};
                   
double **T  =    ca_A_mR(ta,i_mR(R3,C4));
double **A  =          r_mR(i_mR(R3,C3),999.);  
double **AT =    mul_mR(A,T,i_mR(R3,C4));  
double **Ab = gj_TP_mR(c_mR(AT,i_Abr_Ac_bc_mR(R3,C3,C1)));     

  clrscrn();
  printf(" Find a matrice, that has this reduced row-echelon form :\n\n"
         " Ab : ");
  p_mR(T,S5,P0,C6);
  stop();

  clrscrn();  
  printf(" If :\n\n A = r_mR(i_mR(R3,C3),999.)");
  p_mR(A,S5,P0,C6);  
  
  printf(" And :\n\n T :");
  p_mR(T,S5,P0,C6); 

  printf(" I suggest this matrix : A*T = Ab\n\n"  
  " Ab : ");
  p_mR(AT,S5,P0,C6);
  stop();  

  clrscrn();  
  printf("\n  With the Gauss Jordan function :\n\n Ab :");
  p_mR(Ab,S10,P5,C7);
  stop();


  f_mR(Ab);
  f_mR(A);
  f_mR(T);
  f_mR(AT);

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


Le but de ce travail est de créer des systèmes dont on connait le résultat par avance.


Exemple de sortie écran :
  ----------------------------------------
 Find a matrice, that has this reduced row-echelon form :

 Ab : 
   +1    +0    +0    +1 
   +0    +1    +0    +2 
   +0    +0    +1    +3 

 Press return to continue. 

 ----------------------------------------
 If :

 A = r_mR(i_mR(R3,C3),999.)
 +479  -154  -501 
 +992  -763  -591 
 -843  +708   +88 

 And :

 T :
   +1    +0    +0    +1 
   +0    +1    +0    +2 
   +0    +0    +1    +3 

 I suggest this matrix : A*T = Ab

 Ab : 
 +479  -154  -501 -1332 
 +992  -763  -591 -2307 
 -843  +708   +88  +837 

 Press return to continue. 

 ----------------------------------------
  With the Gauss Jordan function :

 Ab :
  +1.00000   -0.00000   +0.00000   +1.00000 
  +0.00000   +1.00000   +0.00000   +2.00000 
  +0.00000   -0.00000   +1.00000   +3.00000 

 Press return to continue.