Mathc complexes/a197

Un livre de Wikilivres.


Application


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


c01a.c
/* ------------------------------------ */
/*  Save as :   c01a.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define    RA            R3
#define    CA            C3
#define    Cb            C1
/* ------------------------------------ */
int main(void)
{
double a[RA*(CA*C2)] ={ 1,2,  3,4,  5,6,
                        5,4,  1,3,  6,8,
                        7,2,  5,1,  1,1};

double b[RA*(Cb*C2)] ={ 1,2, 
                        3,4, 
                        5,6 };
                                                
double **A = ca_A_mZ(a,i_mZ(RA,CA));
double **B = ca_A_mZ(b,i_mZ(RA,Cb));

double **Inv = i_mZ(RA,CA);

double **X = i_mZ(RA,Cb);
double **T = i_mZ(RA,Cb);
    
    
  clrscrn();
  printf(" We want to find X such as,   \n\n");
  printf("         AX = B               \n\n");
  printf(" If A is a square matrix and, \n\n");
  printf(" If A has an inverse matrix,  \n\n");
  printf(" you can find X by this method\n\n");
  printf("         X = inv(A) B       \n\n\n");
  printf(" To verify the result you can \n\n");
  printf(" multiply the matrix A by X.  \n\n");
  printf(" You must refind B.  \n\n");
  getchar();

  clrscrn();
  printf(" A :\n");
  p_mZ(A, S5,P0, S4,P0, C6);
  printf(" B :\n");
  p_mZ(B, S5,P0, S4,P0, C6);
  getchar();

  clrscrn();
  printf(" inv(A) :\n");
  pE_mZ(inv_mZ(A,Inv), S12,P4, S12,P4, C4);
  printf(" X = inv(A) * B :\n");
  p_mZ(mul_mZ(Inv,B,X), S10,P4, S8,P4, C4);
  getchar();

  clrscrn();
  printf(" B :\n");
  p_mZ(B, S5,P0, S4,P0, C6);
  printf("  AX :\n");
  p_mZ(mul_mZ(A,X,T), S5,P0, S4,P0, C6);

  f_mZ(T);
  f_mZ(X);
  f_mZ(B);
  f_mZ(Inv);
  f_mZ(A);
  stop();

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




Exemple de sortie écran :
 ----------------------------------
 We want to find X such as,   

         AX = B               

 If A is a square matrix and, 

 If A has an inverse matrix,  

 you can find X by this method

         X = inv(A) B       


 To verify the result you can 

 multiply the matrix A by X.  

 You must refind B.  

 ----------------------------------
 A :

   +1  +2i    +3  +4i    +5  +6i 
   +5  +4i    +1  +3i    +6  +8i 
   +7  +2i    +5  +1i    +1  +1i 

 B :

   +1  +2i 
   +3  +4i 
   +5  +6i 

 ----------------------------------
 inv(A) :

 -1.2917e-01 +8.1007e-02i  +8.5597e-02 -6.6602e-02i  +8.5160e-02 -3.3778e-04i 
 +1.8258e-01 -8.6352e-02i  -1.5122e-01 +8.1911e-02i  +9.3058e-02 -3.8517e-02i 
 +3.7156e-03 -6.3244e-02i  +7.1142e-02 -3.4463e-02i  -8.4514e-02 +1.6084e-02i 

 X = inv(A) * B :

   +0.6598 +0.4745i 
   +0.2704 +0.2854i 
   -0.0376 -0.3013i 

 ----------------------------------
 B :

   +1  +2i 
   +3  +4i 
   +5  +6i 

  AX :

   +1  +2i 
   +3  +4i 
   +5  +6i 

 Press return to continue.