Mathc complexes/a58
Apparence
Le code de la fonction :
/* ------------------------------------ */
/* ------------------------------------ */
void pE_Octave_mZ(
double **A,
char name[],
int Pr,
int Pi
)
{
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%+.*e*i,",Pr,A[r][c], Pi,A[r][c+C1]);
if((r+1)<A[R_SIZE][C0]) printf("\b;\n");
else printf("\b]\n\n");
}
}
/* ------------------------------------ */
/* ------------------------------------ */
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 = rE_mZ(i_mZ(R3,C3), 999999, 1E-3 );
clrscrn();
printf(" Copy/Paste into the octave window.\n\n");
pE_Octave_mZ(A,"A",P3 ,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;
}
/* ------------------------------------ */
/* ------------------------------------ */
Exemple de sortie écran :
Copy/Paste into the octave window.
A=[
-1.356e+01-3.453e+02*i,-9.853e+01-5.566e+02*i,+4.234e+02-4.143e+02*i;
+1.738e+02-8.004e+02*i,-4.987e+02+3.933e+02*i,-8.280e+01+8.722e+02*i;
+9.436e+02+2.865e+02*i,+9.259e+02-3.863e+02*i,-1.488e+02-5.319e+02*i]
det(A)
Press return to continue
Press X return to stop