Mathc complexes/h09b
Apparence
Le code de la fonction :
/* ------------------------------------ */
/* ------------------------------------ */
void p_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("%+.*f%+.*f*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 ce fichier dans votre répertoire de travail.
c00a.c |
|---|
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **A = r_mZ(i_mZ(r,r),9);
clrscrn();
printf(" octave give a bad result. \n");
printf(" If you paste this type of numbers +1 -2*i \n");
printf(" instead of this type (see space) +1-2*i\n\n");
printf(" Copy/Paste into the octave window. \n\n");
p_Octave_mZ(A,"A",P0 ,P0);
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 :
octave give a bad result.
If you paste this type of numbers +1 -2*i
instead of this type (see space) +1-2*i
Copy/Paste into the octave window.
A=[
-4-9*i,+6+8*i,-5+1*i,+5+1*i,+3-7*i;
-8+2*i,-4+6*i,-7+6*i,-7-7*i,-2+3*i;
+2-6*i,+3-7*i,+5+3*i,-2+3*i,+3-7*i;
+2-8*i,+5-6*i,-7+8*i,+9-5*i,-5+2*i;
-5+8*i,+8+8*i,+4+7*i,-4+2*i,+7-3*i]
det(A)
Press return to continue
Press X to stop