Aller au contenu

Mathc matrices/01k

Un livre de Wikilivres.


Valeurs propres. Vecteurs propres

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


c00a.c
/* ------------------------------------ */
/*  Save as :  c00a.c                   */
/* ------------------------------------ 
 * Create the files a_main.plt, g_u1 and g_u2 
 * 
 
# a_main.plt
 
reset
set zeroaxis lt 8
set grid
set view 90.,0.,  1., 1. 
splot [-1:1] [-1:1] [-1:1]\
"g_u1"  with linespoints lt 16 lw 3,\
"g_u2"  with linespoints lt 15 lw 3,\
"g_u3"  with linespoints lt 14 lw 3
reset

 ------------------------------------ 
# g_u1

0.0 0.0 0.0   
+0.599815943 +0.383319621 +0.702343863   
 ------------------------------------ 
# g_u2 

0.0 0.0 0.0   
-0.0427998091 +0.891892346 -0.450217970

 ------------------------------------  
# g_u3 

0.0 0.0 0.0   
+0.798992497 -0.239987733 -0.551377255 
   ------------------------------------ */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
#define   RCA C3
/* ------------------------------------ */
int main(void)
{
double a[RCA*RCA]={
+3,+4,+8,
+4,+5,+2,
+8,+2,+7
};

double **A            = ca_A_mR(a,i_mR(RCA,RCA));
double **EigsVector   =           i_mR(RCA,RCA);

  clrscrn();
  printf(" A:");
  p_mR(A,S4,P0,C6);
   
  printf(" EignVector:");
  eigs_V_mR(A,EigsVector);  
  p_mR(EigsVector,S14,P9,C6);
     
  printf(" Create the files \"a_main.plt\", \"g_u1\", "
         "\"g_u2\", \"g_u3\"\n\n" 
          " ... load \"a_main.plt\" ... with gnuplot.   \n\n");
  stop();
   
  f_mR(A);
  f_mR(EigsVector); 

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


  • Il faut créer les fichiers, "a_main.plt", "g_u1", "g_u2", "g_u3", manuellement dans le répertoire de travail.
  • Comme d'habitude, il faut lancer gnuplot à partir d'une copie du terminal après avoir lancer le programme C.
  • En 3d, voir la vidéo, il faut jouer sur la taille de l'écran de gnuplot pour mettre le dessin au bon ratio.


Exemple de sortie écran :
 A:
  +3   +4   +8 
  +4   +5   +2 
  +8   +2   +7 

 EignVector:
  +0.599815943   -0.042799809   +0.798992497 
  +0.383319621   +0.891892346   -0.239987733 
  +0.702343863   -0.450217970   -0.551377255 

 Create the files "a_main.plt", "g_u1", "g_u2", "g_u3"

 ... load "a_main.plt" ... with gnuplot.   

 Press return to continue.