Mathc matrices/a47
Apparence
Installer et compiler ces fichiers dans votre répertoire de travail.
c00.c |
---|
/* ------------------------------------ */
/* Save as : c00.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
#define RA R4
#define CA C4
#define Cb C3
/* ------------------------------------ */
/* ------------------------------------ */
#define B (1.)
#define C (1.)
/* ------------------------------------ */
//#define B (+2./5.)
//#define C (-6./5.)
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
{
/*
* Find a value for "B" so that the system is compatible.
*/
double ab[RA*(CA+Cb)]={
// A = x*B + y*C + z
-7, +7, +9, -2, +4*B, +1*C, +1,
-5, -6, -1, -8, +2*B, +3*C, +2,
-21, +21, +27, -6, +3*B, +0*C, +3,
-14, +14, +18, -4, +0*B, +1*C, +4,
};
double **Ab = ca_A_mR(ab,i_Abr_Ac_bc_mR(RA,CA,Cb));
double **A = c_Ab_A_mR(Ab,i_mR(RA,CA));
double **b = c_Ab_b_mR(Ab,i_mR(RA,Cb));
clrscrn();
printf(" A :");
p_mR(A,S3,P0,C7);
printf(" b :");
p_mR(b,S3,P0,C7);
printf(" Ab :");
p_mR(Ab,S3,P0,C7);
getchar();
clrscrn();
printf(" Copy/Past into the octave window.\n\n");
p_Octave_mR(Ab,"Ab",P0);
printf("\n rref(Ab,.00000000001)\n\n");
printf(" gj_PP_mR(Ab,YES) :");
gj_PP_mR(Ab,YES);
p_mR(Ab,S8,P4,C7);
stop();
f_mR(Ab);
f_mR(b);
f_mR(A);
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Calculer la valeur de B et de C pour que le système soit compatible. Exemple de sortie écran :
------------------------------------
A :
-7 +7 +9 -2
-5 -6 -1 -8
-21 +21 +27 -6
-14 +14 +18 -4
b :
+4 +1 +1
+2 +3 +2
+3 +0 +3
+0 +1 +4
Ab :
-7 +7 +9 -2 +4 +1 +1
-5 -6 -1 -8 +2 +3 +2
-21 +21 +27 -6 +3 +0 +3
-14 +14 +18 -4 +0 +1 +4
------------------------------------
Copy/Past into the octave window.
Ab=[
-7,+7,+9,-2,+4,+1,+1;
-5,-6,-1,-8,+2,+3,+2;
-21,+21,+27,-6,+3,+0,+3;
-14,+14,+18,-4,+0,+1,+4]
rref(Ab,.00000000001)
gj_PP_mR(Ab,YES) :
+1.0000 +0.0000 -0.6104 +0.8831 -0.2597 -0.2727 -0.2597
-0.0000 +1.0000 +0.6753 +0.5974 -0.1169 -0.2727 -0.1169
+0.0000 +0.0000 +0.0000 +0.0000 +3.0000 +1.0000 +0.0000
+0.0000 +0.0000 +0.0000 +0.0000 -2.0000 +1.0000 +2.0000
Press return to continue.
Les deux dernières lignes donnent :
+0.0000 +0.0000 +0.0000 +0.0000 +3.0000 +1.0000 +0.0000 +0.0000 +0.0000 +0.0000 +0.0000 -2.0000 +1.0000 +2.0000 ou bien +0.0000 = +3.0000 +1.0000 +0.0000 +0.0000 = -2.0000 +1.0000 +2.0000 en introduisant B et C +0.0000 = +3.0000 B +1.0000 C +0.0000 +0.0000 = -2.0000 B +1.0000 C +2.0000 soit le système +3.0000 B +1.0000 C = -0.0000 -2.0000 B +1.0000 C = -2.0000 cela donne B = +2./5. C = -6./5.