Aller au contenu

Mathc complexes/09b

Un livre de Wikilivres.


Application

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

c00b.c
/* ------------------------------------ */
/*  Save as :   c00b.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */     
#define RCA          RC2  
/* ------------------------------------ */       
/* ------------------------------------ */
int main(void)
{                          
double NLV[RCA*RCA] ={   
+0.970142500145, -0.447213595500, 
-0.242535625036, +0.894427191000   
};
 
double E[RCA*RCA] ={   
+1, 0, 
+0, 0    
};
                       
double **Nlv     = ca_A_mRZ(NLV,        i_mZ(RCA,RCA));
double **invNlv  = invgj_mZ(Nlv,        i_mZ(RCA,RCA));

double **EValue =  ca_A_mRZ(E,          i_mZ(RCA,RCA));

double **T      =    mul_mZ(Nlv,EValue, i_mZ(RCA,RCA));
double **A      =    mul_mZ(T,  invNlv, i_mZ(RCA,RCA));

  clrscrn(); 
  printf(" Nl: The normalized line vector\n" 
         " Nv: The normalized projector vector\n\n");
  
  printf(" Nl        Nv:");
  p_mRZ(Nlv, S8,P6, C3);     

  printf(" EValue:");
  p_mRZ(EValue, S9,P12, C4); 
 
  printf(" Copy this matrix into the files c00c.c and c00d.c\n\n"
         " A = Nlv EValue invNlv");
  P_mRZ(A, S8,P12, C3);
  stop();
  
  f_mZ(A);
  f_mZ(Nlv);  
  f_mZ(invNlv);  
  f_mZ(T);  
  f_mZ(EValue);

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
 Vous calculez la matrice A qui projette le plan dans la direction du vecteur propre (Nv) sur une droite déterminée par le vecteur propre (Nl). Ensuite, vous devez copier cette matrice dans les fichiers c00c.c et c00d.c

Exemple de sortie écran :

 Nl: The normalized line vector
 Nv: The normalized projector vector

 Nl        Nv:
+0.970143 -0.447214 
-0.242536 +0.894427 

 EValue:
+1.000000000000 +0.000000000000 
+0.000000000000 +0.000000000000 

 Copy this matrix into the files c00c.c and c00d.c

 A = Nlv EValue invNlv
+1.142857142857, +0.571428571428, 
-0.285714285714, -0.142857142857  

 Press return to continue.