< Mathc matrices


Sommaire


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


c0b3.c
'
/* ------------------------------------ */
/*  Save as :  c0b3.c               */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(void)
{
double ab[R3*C3]={
+966,+98,+864,
+98,+692,+214,
+864,+214,+376
};

int r = RC3;

double **A         = ca_A_mR(ab,i_mR(r,r));
double **EignVector=               i_mR(r,r);
double **T_EignVector=             i_mR(r,r);
double **EigsValue =               i_mR(r,C1);

double **T1=             i_mR(r,r);
double **T2=             i_mR(r,r);

  clrscrn();
  printf(" Copy/Past into the octave windows \n\n");
  p_octave_mR(A,"a",S1,P0);
  printf(" [V, E] = eigs (a,10) \n\n");
  stop();

  clrscrn();   
  eignVectoruv_mR(A,EignVector); 
  printf(" EignVector:");
  p_mR(EignVector,S10,P4,C6);

  printf(" EigsValue : T_EignVector * A * EignVector");   
  transpose_mR(EignVector,T_EignVector);   
  mul_mR(T_EignVector,A,T1);
  mul_mR(T1,EignVector,T2);
  p_mR(T2,S10,P4,C6);  
   
  eigsuv_mR(A,EigsValue);
  printf(" EigsValue :");
  p_mR(EigsValue,S10,P4,C1);   
  stop();
   
  f_mR(A);
  
  f_mR(EignVector);
  f_mR(T_EignVector);
  
  f_mR(EigsValue);  
     
  f_mR(T1);
  f_mR(T2);
}
/* ------------------------------------ */
int main(void)
{

  fun();

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


Déclaration des fichiers h.



Exemple de sortie écran :
/* ------------------------------------ */
 Copy/Past into the octave windows 

 a=[
+966,+98,+864;
+98,+692,+214;
+864,+214,+376]

 [V, E] = eigs (a,10) 

 Press return to continue. 


/* ------------------------------------ */
 EignVector:
   +0.7865    -0.2475    -0.5658 
   +0.2146    +0.9686    -0.1254 
   +0.5791    -0.0228    +0.8150 

 EigsValue : T_EignVector * A * EignVector
+1628.8358    +0.0000    -0.0000 
   +0.0000  +661.9311    +0.0000 
   -0.0000    -0.0000  -256.7669 

 EigsValue :
+1628.8358 
 +661.9311 
 -256.7669 

 Press return to continue.
Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.