Mathc matrices/a44
Apparence
Installer et compiler ces fichiers dans votre répertoire de travail.
c00.c |
---|
/* ------------------------------------ */
/* Save as : c00.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
#define RA R5
#define CA C5
#define Cb C2
/* ------------------------------------ */
/* ------------------------------------ */
#define B (1.)
//#define B (1./6.)
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
{
/*
* Find a value for "B" so that the system is compatible.
*/
double ab[RA*(CA+Cb)]={
// A = x*B + y
-2, +8, -3, -6, +8, +9*B, 1,
-8, +5, -1, -1, -4, +1*B, 2,
+4, -8, +9, -6, -3, +7*B, 3,
+4, -8, +9, -6, -3, +1*B, 4,
-4, +2, +6, -6, +9, -1*B, 5
};
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 pour que le système soit compatible. Exemple de sortie écran :
------------------------------------
A :
-2 +8 -3 -6 +8
-8 +5 -1 -1 -4
+4 -8 +9 -6 -3
+4 -8 +9 -6 -3
-4 +2 +6 -6 +9
b :
+9 +1
+1 +2
+7 +3
+1 +4
-1 +5
Ab :
-2 +8 -3 -6 +8 +9 +1
-8 +5 -1 -1 -4 +1 +2
+4 -8 +9 -6 -3 +7 +3
+4 -8 +9 -6 -3 +1 +4
-4 +2 +6 -6 +9 -1 +5
------------------------------------
Copy/Past into the octave window.
Ab=[
-2,+8,-3,-6,+8,+9,+1;
-8,+5,-1,-1,-4,+1,+2;
+4,-8,+9,-6,-3,+7,+3;
+4,-8,+9,-6,-3,+1,+4;
-4,+2,+6,-6,+9,-1,+5]
rref(Ab,.00000000001)
gj_PP_mR(Ab,YES) :
+1.0000 +0.0000 +0.0000 +0.0000 +2.5000 -0.2800 -0.2600
+0.0000 +1.0000 +0.0000 +0.0000 +4.2500 -0.9700 +0.0100
+0.0000 +0.0000 +1.0000 +0.0000 +3.5000 -1.8200 +0.3933
-0.0000 -0.0000 -0.0000 +1.0000 +1.7500 -1.7900 -0.2633
+0.0000 +0.0000 +0.0000 +0.0000 +0.0000 +6.0000 -1.0000
Press return to continue.
La dernière ligne donne :
+0.0000 +0.0000 +0.0000 +0.0000 +0.0000 +6.0000 -1.0000 ou bien +0.0000 = +6.0000 -1.0000 en introduisant B +0.0000 = +6.0000 B -1.0000 soit le système +6.0000 B = +1.0000 cela donne B = 1./6.