Application

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


c00b.c
/* ------------------------------------ */
/*  Save as :   c00b.c                  */
/* ------------------------------------ */
#include "w_a.h"  
/* ------------------------------------ */
#define   RA     R3
#define   CA     C4
#define   Cb     C1
/* ------------------------------------ */
int main(void)
{
double ab[RA*((CA+Cb)*C2)] ={
	                    1,2,  3,4,  5,6,  5,2, 1,2,
                        1,2,  3,4,  5,6,  1,3, 3,4,
                        1,2,  3,4,  1,1,  4,2, 5,6};
                          
double **Ab = ca_A_mZ(ab,i_Abr_Ac_bc_mZ(RA,CA,Cb));

  clrscrn();
  printf(" Ab :");
  p_mZ(Ab, S8,P2, S6,P2, C4);    
 
  printf(" gj_PP_mZ(Ab) :");
  p_mZ(gj_PP_mZ(Ab), S9,P4, S8,P4, C4);
  stop();      

  f_mZ(Ab);

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


Cet exemple et le suivant présente une manière de résoudre un système d'équation avec des variables libres.

Cet exemple va nous permettre de déterminer la taille des matrices de travail.

  • La matrice A à trois lignes et quatre colonnes. La matrice des variables libres doit être carrée.
  • Il nous faut donc créer une nouvelles matrice A avec 4 lignes et 4 colonnes.
  • L'ajout d'une ligne indique qu'il va y avoir une variable libre. Il faut donc ajouter une colonne à notre système d'équations pour les valeurs de la variable libre.
                           A  b
Le système Ab avait : (R3, C4+C1)

                                         A  b  Fv
Le nouveau système Ab devra avoir : (R4, C4+C1+C1)
  • Voir l'exemple suivant.


Exemple de sortie écran :
 ------------------------------------ 
 Ab :
   +1.00 +2.00i    +3.00 +4.00i    +5.00 +6.00i    +5.00 +2.00i 
   +1.00 +2.00i    +3.00 +4.00i    +5.00 +6.00i    +1.00 +3.00i 
   +1.00 +2.00i    +3.00 +4.00i    +1.00 +1.00i    +4.00 +2.00i 

   +1.00 +2.00i 
   +3.00 +4.00i 
   +5.00 +6.00i 

 gj_PP_mZ(Ab) :
  +1.0000 +0.0000i   +2.2000 -0.4000i   +3.4000 -0.8000i   +1.8000 -1.6000i 
  -0.0000 +0.0000i   +0.0000 -0.0000i   +1.0000 +0.0000i   +0.0976 -0.1220i 
  +0.0000 -0.0000i   +0.0000 +0.0000i   -0.0000 +0.0000i   +1.0000 +0.0000i 

  +1.0000 +0.0000i 
  -0.8780 +0.0976i 
  -0.3529 -0.5882i 

 Press return to continue. 


 Press return to continue.