Mathc matrices/a121

Un livre de Wikilivres.


Application


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


c00a.c
/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
#define   RA R3
#define   CA C3
#define   Cb C1
/* ------------------------------------ */
int main(void)
{
double ab[RA*(CA+Cb)]={
-0.34800000, -0.32100000, -0.23300000, -0.58616667, 
-0.03200000, +0.89700000, +0.82100000, +0.69016667, 
+0.04500000, -0.55900000, +0.28100000, -0.14083333     
};

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(" You have this nonlinear system of equations :\n\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\n");
  printf(" We write  1/x = X, 1/y = Y, 1/z = Z\n\n"); 
  printf(" a X + b Y + c Z = d\n");
  printf(" e X + f Y + g Z = h\n");
  printf(" i X + j Y + k Z = l\n\n");  
  printf(" Ab :\n");  
  printf(" a  b  c  d\n");
  printf(" e  f  g  h\n");
  printf(" i  j  k  l\n\n\n"); 
  stop();  
  
  clrscrn();
  printf(" With  A :");
  p_mR(A,S8,P4,C7);
  printf(" And b :");
  p_mR(b,S8,P4,C7);
  printf(" Ab :");
  p_mR(Ab,S8,P4,C7);
  getchar();

  clrscrn();
  printf(" Copy/Past into the octave window.\n\n");
  p_Octave_mR(Ab,"Ab",P4);
  printf("\n rref(Ab,.00000000001)\n\n");
  printf("  gj_TP_mR(Ab) :");
  gj_TP_mR(Ab);
  p_mR(Ab,S10,P4,C7);
  printf(" Then  1/x = X = 1. , 1/y = Y = .5, 1/z = Z = .333 \n\n");
  stop();

  f_mR(Ab);
  f_mR(b);
  f_mR(A);
  
  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Exemple de sortie écran :
 ------------------------------------                                                  
 You have 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  

 We write  1/x = X, 1/y = Y, 1/z = Z

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

 Ab :
 a  b  c  d
 e  f  g  h
 i  j  k  l


 Press return to continue. 

 ------------------------------------   
 With  A :
 -0.3480  -0.3210  -0.2330 
 -0.0320  +0.8970  +0.8210 
 +0.0450  -0.5590  +0.2810 

 And b :
 -0.5862 
 +0.6902 
 -0.1408 

 Ab :
 -0.3480  -0.3210  -0.2330  -0.5862 
 -0.0320  +0.8970  +0.8210  +0.6902 
 +0.0450  -0.5590  +0.2810  -0.1408 

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

 Ab=[
-0.3480,-0.3210,-0.2330,-0.5862;
-0.0320,+0.8970,+0.8210,+0.6902;
+0.0450,-0.5590,+0.2810,-0.1408]


 rref(Ab,.00000000001)

  gj_TP_mR(Ab) :
   +1.0000    -0.0000    -0.0000    +1.0000 
   +0.0000    +1.0000    +0.0000    +0.5000 
   +0.0000    +0.0000    +1.0000    +0.3333 

 Then  1/x = X = 1. , 1/y = Y = .5, 1/z = Z = .333 

 Press return to continue.