Aller au contenu

Mathc complexes/04c

Un livre de Wikilivres.

Application


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


c00a.c
/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define RC         RC5
#define FACTOR_I   10.
/* ------------------------------------ */
/* ------------------------------------ */
void fun(void)
{
double **A          = r_mRZ(i_mZ(RC,RC),999.);
double **EigsValue  =       i_mZ(RC,C1);

  clrscrn();
  printf(" Copy/Past into the octave windows \n\n");
  p_Octave_mZ(A,"a",P0,P0);  
  printf(" EigenValues  = eigs (a,%d)\n\n\n",RC);
  stop(); 
  
  clrscrn(); 
  eyeI_mZ(A,FACTOR_I);
  
  printf(" A : FACTOR_I = %.2f",FACTOR_I);
  p_mZ(A, S5,P0, S5,P0, C5); 
          
  printf(" EigsValue :");
  eigs_mZ(A,EigsValue);  
  p_mZ(EigsValue, S15,P9, S15,P9, C5); 
       
  f_mZ(A);
  f_mZ(EigsValue);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

do
{
  fun();
  
} while(stop_w());

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


Exemple de sortie écran : Trouvons les valeurs complexes
 Copy/Past into the octave windows 

 a=[
-701+0*i,+809+0*i,-658+0*i,-760+0*i,-10+0*i;
+319+0*i,+798+0*i,+94+0*i,-563+0*i,+568+0*i;
+348+0*i,+691+0*i,-718+0*i,-98+0*i,-99+0*i;
+581+0*i,-409+0*i,+750+0*i,+292+0*i,+626+0*i;
+311+0*i,+723+0*i,-231+0*i,+477+0*i,+944+0*i]

 EigenValues  = eigs (a,5)


 Press return to continue. 


 A : FACTOR_I = 10.00
 -701  +10i  +809   +0i  -658   +0i  -760   +0i   -10   +0i 
 +319   +0i  +798  +10i   +94   +0i  -563   +0i  +568   +0i 
 +348   +0i  +691   +0i  -718  +10i   -98   +0i   -99   +0i 
 +581   +0i  -409   +0i  +750   +0i  +292  +10i  +626   +0i 
 +311   +0i  +723   +0i  -231   +0i  +477   +0i  +944  +10i 

 EigsValue :
+1485.802923283  +10.000000000i 
 -997.806025984  +10.000000000i 
 +712.625282363  +10.000000000i 
 -292.811089831 +314.847219148i 
 -292.811089831 -294.847219148i 


 Press   return to continue
 Press X return to stop


Remarque : Ici il ne faut pas utiliser les signes. (Les valeurs sont conjuguées)

* (314.847219148+294.847219148) / 2 = 304,847219148 


Octave :
EigenValues =

   1485.80 +       0i
   -997.81 +       0i
    712.63 +       0i
   -292.81 +  304.85i
   -292.81 -  304.85i