Aller au contenu

Mathc complexes/a59

Un livre de Wikilivres.


Application

Le code de la fonction :

/* ------------------------------------ */
/* ------------------------------------ */
void pE_Octave_mRZ(
double  **A,
char name[],
int Pr
)
{
 int r;
 int c;

 printf(" %s=[\n",name);

 for(r=R1; r<A[R_SIZE][C0]; r++)
  {
  for(c=C1; c<A[C_SIZE][C0]; c+=C2)
   
     printf("%+.*e,",Pr,A[r][c]);

   if((r+1)<A[R_SIZE][C0]) printf("\b;\n");

   else                    printf("\b]\n\n");
  }
}
/* ------------------------------------ */
/* ------------------------------------ */
Attention on travaille ici sur des réels.
Pour que les matrices soient bien adapté au format octave, il vaut mieux que tous les nombres soit collés les un aux autres. On pourrait remplacer la virgule entre les nombres par un espace.

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

c00b.c
/* ------------------------------------ */
/*  Save as :   c00b.c                  */
/* ------------------------------------ */

/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **A = rsymmetric_mRZ(i_mZ(R3,C3), 999999);

  clrscrn();
  printf(" Copy/Paste into the octave window.       \n\n");
  pE_Octave_mRZ(A,"A", P3);
  printf(" det(A)\n\n\n");

  f_mZ(A);  
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

do
{
  fun(rp_I(R3)+R2);
} while(stop_w());

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
 Copy/Paste into the octave window.       

 A=[
+1.357e+12,+7.983e+11,+1.152e+11;
+7.983e+11,+9.859e+11,-6.632e+11;
+1.152e+11,-6.632e+11,+1.081e+12]

 det(A)



 Press   return to continue
 Press X return to stop