Mathc complexes/a196
Installer et compiler ces fichiers dans votre répertoire de travail.
c01a.c |
---|
/* ------------------------------------ */
/* Save as : c01a.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define RA R3
#define CA C3
#define Cb C3
/* ------------------------------------ */
int main(void)
{
double a[RA*(CA*C2)] ={ 1,2, 3,4, 5,6,
5,4, 1,3, 6,8,
7,2, 5,1, 1,1};
double b[RA*(C3*C2)] ={ 1,2, 2,3, 3,5,
3,4, 2,4, 3,4,
5,6, 2,5, 3,3 };
double **A = ca_A_mZ(a,i_mZ(RA,CA));
double **B = ca_A_mZ(b,i_mZ(RA,Cb));
double **Inv = i_mZ(RA,CA);
double **X = i_mZ(RA,Cb);
double **T = i_mZ(RA,Cb);
clrscrn();
printf(" \n");
printf(" Linear systems with common coefficient matrix.\n\n");
printf(" Ax1=b1 \n");
printf(" Ax2=b2 \n");
printf(" ... \n");
printf(" Axn=bn \n\n");
printf(" We can write these equalities in this maner. \n\n");
printf(" A|x1|x2|...|xn| = b1|b2|...|bn| \n\n");
printf(" or simply : \n\n");
printf(" AX = B \n\n");
printf(" where B = b1|b2|...|bn \n\n");
printf(" and X = x1|x2|...|xn \n\n");
getchar();
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");
getchar();
clrscrn();
printf(" A :\n");
p_mZ(A, S4,P0, S3,P0, C6);
printf(" b1 b2 ... bn");
p_mZ(B, S4,P0, S3,P0, C6);
getchar();
clrscrn();
printf(" inv(A) :");
inv_mZ(A,Inv);
pE_mZ(Inv, S12,P4, S12,P4, C4);
printf(" X = inv(A) * B :\n");
printf(" x1 x2 ... xn");
mul_mZ(Inv,B,X);
p_mZ(X, S10,P4, S8,P4, C4);
getchar();
clrscrn();
printf(" b1 b2 ... bn");
p_mZ(B, S6,P0, S3,P0, C6);
printf(" Ax1 Ax2 ... Axn");
mul_mZ(A,X,T);
p_mZ(T, S6,P0, S3,P0, C6);
f_mZ(T);
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.
----------------------------------
A :
+1 +2i +3 +4i +5 +6i
+5 +4i +1 +3i +6 +8i
+7 +2i +5 +1i +1 +1i
b1 b2 ... bn
+1 +2i +2 +3i +3 +5i
+3 +4i +2 +4i +3 +4i
+5 +6i +2 +5i +3 +3i
----------------------------------
inv(A) :
-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 = inv(A) * B :
x1 x2 ... xn
+0.6598 +0.4745i +0.1082 +0.4088i -0.0129 -0.0058i
+0.2704 +0.2854i +0.3728 +0.3222i +0.5929 +0.4583i
-0.0376 -0.3013i +0.2279 -0.2901i +0.3769 -0.1953i
----------------------------------
b1 b2 ... bn
+1 +2i +2 +3i +3 +5i
+3 +4i +2 +4i +3 +4i
+5 +6i +2 +5i +3 +3i
Ax1 Ax2 ... Axn
+1 +2i +2 +3i +3 +5i
+3 +4i +2 +4i +3 +4i
+5 +6i +2 +5i +3 +3i
Press return to continue.