Aller au contenu

Mathc complexes/a208

Un livre de Wikilivres.

Application

Installer et compiler ce fichier dans votre répertoire de travail.

c00a.c
/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(void)
{ 
double **U_T = r_mZ(i_mZ(R1, C3), 9);  
double **V_T = r_mZ(i_mZ(R1, C3), 9);   
 
double **UxV_T = i_mZ(R1, C3);

//       A :  A matrix with one in the real part of the numbers.
double **A = m1_mZ(i_mZ(R3, C3));
  
//     u and v -> A
  c_r_mZ(U_T, R1, A, R2);
  c_r_mZ(V_T, R1, A, R3);

  clrscrn();
// cofactor(A) -> (u x v)   
  c_z_mZ(cofactor_Z(A, R1, C1),       UxV_T, R1, C1);
  c_z_mZ(cofactor_Z(A, R1, C2*C2-C1), UxV_T, R1, C2);
  c_z_mZ(cofactor_Z(A, R1, C3*C2-C1), UxV_T, R1, C3);
//                          c*C2    : a number has two columns                              
//                              -C1 : The real part of the number
       
  printf("  u_T  :");
  p_mZ(U_T, S4, P0, S3, P0, C6);
  printf("  v_T  :");
  p_mZ(V_T, S4, P0, S3, P0, C6);

  printf("\n\n" 
         "    u x v :");    
  p_mZ(UxV_T, S5, P0, S4, P0, C6);
    
  
  f_mZ(U_T); 
  f_mZ(V_T);

  f_mZ(UxV_T); 
       
  f_mZ(A); 

}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  
do
{  
  fun();

} while(stop_w());

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


Les vecteurs en mathématiques sont supposés être des vecteurs colonnes, c'est pour cela que j'utilise _T pour afficher des vecteurs lignes.


Exemple de sortie écran :

  u_T  :
  -2 +7i   -5 -6i   +4 -4i 

  v_T  :
  +1 -8i   -3 -4i   -1 +6i 



    u x v :
  +69 -20i   +12 -17i   +87 -47i 


 Press   return to continue
 Press X return to stop