Mathc matrices/a43

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 R4
#define   CA C4
#define   Cb C2
/* ------------------------------------ */
/* ------------------------------------ */
#define   B   (1.)
//#define   B   (2./3.)
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
{
/* 
 * Find a value for "B" so that the system is compatible.
*/ 
double ab[RA*(CA+Cb)]={
//           A          =  x*B  +  y 
  -9,   +4,   +6,   -4,   -3*B,   -2, 
  +4,   +8,   -2,   -9,   +4*B,    1, 
  -6,   +9,   +7,   +1,   -7*B,    2, 
  -9,   +4,   +6,   -4,   -6*B,    0  };   

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 :
 -9  +4  +6  -4 
 +4  +8  -2  -9 
 -6  +9  +7  +1 
 -9  +4  +6  -4 

 b :
 -3  -2 
 +4  +1 
 -7  +2 
 -6  +0 

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


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

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


 rref(Ab,.00000000001)

  gj_PP_mR(Ab,YES) :
 +1.0000  +0.0000  +0.0000  +2.5929  -1.2124  +1.0354 
 +0.0000  +1.0000  +0.0000  -1.3850  +0.4513  -0.0752 
 +0.0000  +0.0000  +1.0000  +4.1460  -2.6195  +1.2699 
 +0.0000  +0.0000  +0.0000  +0.0000  -3.0000  +2.0000 

 Press return to continue.


La dernière ligne donne :

+0.0000  +0.0000  +0.0000  +0.0000  -3.0000  +2.0000 

ou bien

+0.0000 = -3.0000  +2.0000

en introduisant B 

+0.0000 = -3.0000 B +2.0000 
 
soit le système 

 -3.0000 B = -2.0000   
 
 cela donne
 
 B  =  2./3.