Aller au contenu

Mathc matrices/c22o

Un livre de Wikilivres.


Application


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


c00h.c
/* ------------------------------------ */
/*  Save as :   c00h.c                  */
/* ------------------------------------ */
#include    "v_a.h"
#include "dot_au.h"
/* ------------------------------------ */
void fun(int r)
{
double **A     =     r_mR(i_mR(r,r),9.);
double **U     =     r_mR(i_mR(r,r),9.);
double **Orth  =          i_mR(r,r);
double **D     =          i_mR(r,r);

  clrscrn();
  printf(" A :");
  p_mR(A,S3,P0,C6);

  printf(" u :");
  p_mR(U,S3,P0,C6); 
  stop();
  
  clrscrn();
  orth_Au_mR(A,U,Orth);  
  printf(" Orth :");
  p_mR(Orth,S8,P4,C6);
  
  Normalize_Au_mR(A,Orth);
  printf(" N_Orth :     Normalise");
  p_mR(Orth,S8,P4,C6);
  
  mul_Au_mR(A,Orth,Orth,D);
  printf(" D :  <N_Orth,N_Orth> ");
  p_mR(D,S8,P4,C6);
 
  f_mR(A);
  f_mR(U);
  f_mR(Orth);
  f_mR(D);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

do
{
  fun(rp_I(R3)+R2);

} while(stop_w());

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


Nous orthnormalisons le vecteur u.


Exemple de sortie écran :
 ------------------------------------ 

 A :
 +2  -3  +4 
 +8  -9  +2 
 -5  +4  -5 

 u :
 -3  +8  +2 
 +6  -9  +4 
 +6  +6  -5 

 Press return to continue. 
   
   
   
   
 Orth :
-3.000 +0.349 +3.652 
+6.000 +6.302 +3.195 
+6.000 +21.302 -0.449 

 N_Orth :     Normalise
-0.045 +0.003 +0.699 
+0.090 +0.059 +0.612 
+0.090 +0.199 -0.086 

 D :  <N_Orth,N_Orth> 
+1.000 +0.000 +0.000 
-0.000 +1.000 -0.000 
+0.000 -0.000 +1.000 


 Press return to continue
 Press X      to stop