Mathc complexes/a191
Apparence
Installer et compiler ces fichiers dans votre répertoire de travail.
c00a.c |
---|
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define RCA RC3
#define Cb C1
/* ------------------------------------ */
int main(void)
{
double a[RCA*(RCA*C2)] = { 1,2, 3,4, 5,6,
5,4, 1,3, 6,8,
7,2, 5,1, 1,1};
double b[RCA*(Cb*C2)] = { 1,4,
2,5,
3,6};
double **A = ca_A_mZ(a, i_mZ(RCA,RCA));
double **B = ca_A_mZ(b, i_mZ(RCA,Cb));
double **Inv = i_mZ(RCA,RCA);
double **X = i_mZ(RCA,Cb);
clrscrn();
printf(" We want to find X such as, \n\n");
printf(" AX = B \n\n");
printf(" If A is a square matrix and, \n\n");
printf(" If A has an inverse matrix, \n\n");
printf(" you can find X by this method\n\n");
printf(" X = inv(A) B \n\n\n");
printf(" To verify the result you can \n\n");
printf(" multiply the matrix A by X. \n\n");
printf(" You must refind B. \n\n");
stop();
clrscrn();
printf(" A :");
p_mZ(A, S5,P0, S4,P0, C6);
printf(" B :");
p_mZ(B, S5,P0, S4,P0, C6);
stop();
clrscrn();
printf(" invgj_mZ(A,Inv) :");
pE_mZ(invgj_mZ(A,Inv), S12,P4, S8,P4, C3);
printf(" X = invgj_mZ(A,Inv) * B :");
p_mZ(mul_mZ(Inv,B,X), S12,P4, S2, P4, C6);
stop();
clrscrn();
printf(" B :");
p_mZ(B, S5,P0, S4,P0, C6);
printf(" AX :");
p_mZ(mul_mZ(A,X,B), S5,P0, S4,P0, C6);
f_mZ(X);
f_mZ(B);
f_mZ(Inv);
f_mZ(A);
stop();
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Exemple de sortie écran :
------------------------------------
We want to find X such as,
AX = B
If A is a square matrix and,
If A has an inverse matrix,
you can find X by this method
X = inv(A) B
To verify the result you can
multiply the matrix A by X.
You must refind B.
Press return to continue.
------------------------------------
A :
+1 +2i +3 +4i +5 +6i
+5 +4i +1 +3i +6 +8i
+7 +2i +5 +1i +1 +1i
B :
+1 +4i
+2 +5i
+3 +6i
Press return to continue.
------------------------------------
invgj_mZ(A,Inv) :
-1.2917e-01+8.1007e-02i +8.5597e-02-6.6602e-02i +8.5160e-02-3.3778e-04i
+1.8258e-01-8.6352e-02i -1.5122e-01+8.1911e-02i +9.3058e-02-3.8517e-02i
+3.7156e-03-6.3244e-02i +7.1142e-02-3.4463e-02i -8.4514e-02+1.6084e-02i
X = invgj_mZ(A,Inv) * B :
+0.3085+0.3691i
+0.3263+0.4945i
+0.2212-0.2204i
Press return to continue.
------------------------------------
B :
+1 +4i
+2 +5i
+3 +6i
AX :
+1 +4i
+2 +5i
+3 +6i
Press return to continue.