« Mathc matrices/c32d » : différence entre les versions

Contenu supprimé Contenu ajouté
modification mineure
(Aucune différence)

Version du 26 novembre 2021 à 18:38


Sommaire


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


c02b.c
/* ------------------------------------ */
/*  Save as :   c02b.c                  */
/* ------------------------------------ */
#include      "v_a.h"
/* ------------------------------------ */
int main(void)
{
double t[R3*C4]={ 1,0,0,  1,
                  0,1,0, .5,
                  0,0,1, 1./3.};
                   
double **T  =    ca_A_mR(t,i_mR(R3,C4));
double **A  =        rE_mR(i_mR(R3,C3),999.,1E-3);  
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)));  

  printf(" You want to create this nonlinear system of equations :\n");
  printf("               (X, Y, Z not 0)\n");
  printf("\n"); 
  printf(" a 1/X + b 1/Y + c 1/Z = d  \n");
  printf(" e 1/X + f 1/Y + g 1/Z = h  \n");
  printf(" i 1/X + j 1/Y + k 1/Z = l  \n");
  printf("\n");
  printf(" With 1/X = 1, 1/Y = .5, 1/Z = .333333 \n");
  printf("\n");
  printf(" In  fact, you  want to  find a matrix, \n");
  printf(" which has this reduced row-echelon form :\n\n");   
  p_mR(T,S5,P3,C6);
  getchar();

  printf(" I suggest this matrix : \n");
  p_mR(AT,S5,P3,C6);
  getchar();
  
  printf("\n  With the Gauss Jordan function :\n");
  p_mR(Ab,S5,P3,C6);
  getchar();

  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 :
 You want to create this nonlinear system of equations :
               (X, Y, Z not 0)

 a 1/X + b 1/Y + c 1/Z = d  
 e 1/X + f 1/Y + g 1/Z = h  
 i 1/X + j 1/Y + k 1/Z = l  

 With 1/X = 1, 1/Y = .5, 1/Z = .333333 

 In  fact, you  want to  find a matrix, 
 which has this reduced row-echelon form :


+1.000 +0.000 +0.000 +1.000 
+0.000 +1.000 +0.000 +0.500 
+0.000 +0.000 +1.000 +0.333 


 I suggest this matrix : 

-0.479 -0.665 +0.154 -0.760 
-0.269 -0.501 +0.998 -0.187 
+0.992 +0.904 -0.763 +1.190 



  With the Gauss Jordan function :

+1.000 +0.000 -0.000 +1.000 
+0.000 +1.000 +0.000 +0.500 
-0.000 +0.000 +1.000 +0.333