Mathc complexes/02g
Apparence
Installer et compiler ces fichiers dans votre répertoire de travail.
c00b.c |
|---|
/* ------------------------------------ */
/* Save as : c00b.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define RCA RC3
/* ------------------------------------ */
int main(void)
{
double a[RCA*(RCA*C2)] ={
+3.6655231228,+3.6655231228, -0.3965810096,+0.4282557046, +0.8670026157,-0.0384689329,
+0.4282557046,-0.3965810096, +4.6023160144,+4.6023160144, +0.5686805385,-0.1906631555,
-0.0384689329,+0.8670026157, -0.1906631555,+0.5686805385, +3.7321608628,+3.7321608628
};
double **A = ca_A_mZ(a, i_mZ(RCA,RCA));
double **EigsValue = eigs_mZ(A, i_mZ(RCA,C1));
clrscrn();
printf(" Copy/Paste into the octave windows \n\n");
p_Octave_mZ(A,"a",P12,P12);
printf(" EigenValues = eigs (a,%d) \n\n",RCA);
printf(" EigenValues:");
p_mZ(EigsValue, S10,P1, S10,P1, C4);
stop();
f_mZ(A);
f_mZ(EigsValue);
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Pour éviter les problèmes d'arrondis, utiliser pour la matrice A des nombres avec 10 à 12 chiffres après la virgule.
Exemple de sortie écran :
Copy/Paste into the octave windows
a=[
+3.665523122800+3.665523122800*i,-0.396581009600+0.428255704600*i,+0.867002615700-0.038468932900*i;
+0.428255704600-0.396581009600*i,+4.602316014400+4.602316014400*i,+0.568680538500-0.190663155500*i;
-0.038468932900+0.867002615700*i,-0.190663155500+0.568680538500*i,+3.732160862800+3.732160862800*i]
EigenValues = eigs (a,3)
EigenValues:
+5.0 +5.0i
+4.0 +4.0i
+3.0 +3.0i
Press return to continue.