Mathc matrices/a44

Un livre de Wikilivres.


Application


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


c00.c
/* ------------------------------------ */
/*  Save as :   c00.c                   */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
#define   RA R5
#define   CA C5
#define   Cb C2
/* ------------------------------------ */
/* ------------------------------------ */
#define   B   (1.)
//#define   B   (1./6.)
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
{
/* 
 * Find a value for "B" so that the system is compatible.
*/ 
double ab[RA*(CA+Cb)]={
//           A                =  x*B  +  y 
  -2,   +8,   -3,   -6,   +8,   +9*B,    1, 
  -8,   +5,   -1,   -1,   -4,   +1*B,    2, 
  +4,   -8,   +9,   -6,   -3,   +7*B,    3, 
  +4,   -8,   +9,   -6,   -3,   +1*B,    4, 
  -4,   +2,   +6,   -6,   +9,   -1*B,    5 
  };   

double **Ab = ca_A_mR(ab,i_Abr_Ac_bc_mR(RA,CA,Cb));
double **A  = c_Ab_A_mR(Ab,i_mR(RA,CA));
double **b  = c_Ab_b_mR(Ab,i_mR(RA,Cb));

  clrscrn();
  printf(" A :");
  p_mR(A,S3,P0,C7);
  printf(" b :");
  p_mR(b,S3,P0,C7);
  printf(" Ab :");
  p_mR(Ab,S3,P0,C7);
  getchar();

  clrscrn();
  printf(" Copy/Past into the octave window.\n\n");
  p_Octave_mR(Ab,"Ab",P0);
  printf("\n rref(Ab,.00000000001)\n\n");
  printf("  gj_PP_mR(Ab,YES) :");
  gj_PP_mR(Ab,YES);
  p_mR(Ab,S8,P4,C7);
  stop();

  f_mR(Ab);
  f_mR(b);
  f_mR(A);
  
  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


 Calculer la valeur de B pour que le système soit compatible.


Exemple de sortie écran :
 ------------------------------------ 
 A :
 -2  +8  -3  -6  +8 
 -8  +5  -1  -1  -4 
 +4  -8  +9  -6  -3 
 +4  -8  +9  -6  -3 
 -4  +2  +6  -6  +9 

 b :
 +9  +1 
 +1  +2 
 +7  +3 
 +1  +4 
 -1  +5 

 Ab :
 -2  +8  -3  -6  +8  +9  +1 
 -8  +5  -1  -1  -4  +1  +2 
 +4  -8  +9  -6  -3  +7  +3 
 +4  -8  +9  -6  -3  +1  +4 
 -4  +2  +6  -6  +9  -1  +5 

 ------------------------------------ 
 Copy/Past into the octave window.

 Ab=[
-2,+8,-3,-6,+8,+9,+1;
-8,+5,-1,-1,-4,+1,+2;
+4,-8,+9,-6,-3,+7,+3;
+4,-8,+9,-6,-3,+1,+4;
-4,+2,+6,-6,+9,-1,+5]


 rref(Ab,.00000000001)

  gj_PP_mR(Ab,YES) :
 +1.0000  +0.0000  +0.0000  +0.0000  +2.5000  -0.2800  -0.2600 
 +0.0000  +1.0000  +0.0000  +0.0000  +4.2500  -0.9700  +0.0100 
 +0.0000  +0.0000  +1.0000  +0.0000  +3.5000  -1.8200  +0.3933 
 -0.0000  -0.0000  -0.0000  +1.0000  +1.7500  -1.7900  -0.2633 
 +0.0000  +0.0000  +0.0000  +0.0000  +0.0000  +6.0000  -1.0000 

 Press return to continue.


La dernière ligne donne :

+0.0000  +0.0000  +0.0000  +0.0000  +0.0000  +6.0000  -1.0000 

ou bien

+0.0000 = +6.0000  -1.0000 

en introduisant B 

+0.0000 = +6.0000 B -1.0000 
 
soit le système 

 +6.0000 B = +1.0000  
 
 cela donne
 
 B  =  1./6.