La solution est donné par la résolution du système :
 x2 x4 x6 x7 
 +1 +0 +0 +0 +0 +30 
 +0 +1 +0 +0 +0 +30 
 +0 +0 +1 +0 +0 +10 
 +0 +0 +0 +1 +0 +70 
 +0 +0 +0 +0 +0 +0 
 x2 = +30; x4 = +20; x6 = +10; x7 = +70;
 et x1 = 50; x3 = 20; x5 = 60; x8 = 90;

Mathc matrices/a215
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
int main(void)
double ab[RA*(CA+Cb)]={
// x2 x4 x6 x7
 -1, +0, +0, +0, +0, +20 -50,
 +1, +1, +0, +0, +0, +60, 
 +0, +0, +1, -1, +0, -60,
 +0, +0, +0, +1, +0, +90 -20,
 +0, -1, -1, +0, +0, +50 -90 
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,S5,P0,C7);
 printf(" b :");
 p_mR(b,S5,P0,C7);
 printf(" Ab :");
 p_mR(Ab,S5,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_TP_mR(Ab) :\n\n"
 " x2 x4 x6 x7 ");
 gj_TP_mR(Ab);
 p_mR(Ab,S5,P0,C7);
 stop();
 f_mR(Ab);
 f_mR(b);
 f_mR(A);
 return 0;
/* ------------------------------------ */

Exemple de sortie écran :
 A :
 -1 +0 +0 +0 +0 
 +1 +1 +0 +0 +0 
 +0 +0 +1 -1 +0 
 +0 +0 +0 +1 +0 
 +0 -1 -1 +0 +0 
 b :
 -30 
 +60 
 -60 
 +70 
 -40 
 Ab :
 -1 +0 +0 +0 +0 -30 
 +1 +1 +0 +0 +0 +60 
 +0 +0 +1 -1 +0 -60 
 +0 +0 +0 +1 +0 +70 
 +0 -1 -1 +0 +0 -40 
 ------------------------------------ 
 Copy/Past into the octave window.
 Ab=[
-1,+0,+0,+0,+0,-30;
+1,+1,+0,+0,+0,+60;
+0,+0,+1,-1,+0,-60;
+0,+0,+0,+1,+0,+70;
+0,-1,-1,+0,+0,-40]
 rref(Ab.00000000001)
 gj_TP_mR(Ab) :
 x2 x4 x6 x7 
 +1 +0 +0 +0 +0 +30 
 +0 +1 +0 +0 +0 +30 
 +0 +0 +1 +0 +0 +10 
 +0 +0 +0 +1 +0 +70 
 +0 +0 +0 +0 +0 +0 
 Press return to continue.

Mathc matrices/a216
Application
Mathc matrices/a217
Application
En étudiant le circuit dans le sens des aiguilles d'une montre, nous pouvons écrire :
 Au noeud A :
 Entrées = Sortie
 I1 + I2 = I3
 Au noeud B :
 Entrées = Sortie
 I3 = I1 + I2
 Soit :
 a) I1 + I2 - I3 = 0
 Partie gauche du circuit :
 I2 R2 - I1 R1 =0
 b) - I1 R1 + I2 R2 = 0
 Partie droite du circuit :
 120 - I2 R2 - I3 R3 =0
 c) I2 R2 + I3 R3 = 120
 Partie extérieure du circuit :
 120 - I3 R3 - I1 R1 = 0
 d) I1 R1 + I3 R3 = 120
 Donc:
 a) I1 + I2 - I3 = 0 
 b) -I1 R1 + I2 R2 = 0
 c) I2 R2 + I3 R3 = 120 
 d) I1 R1 + I3 R3 = 120

Avec R1 = 60, R2 = 30, R3 = 20 
 a) I1 + I2 - I3 = 0 
 b) -I1 60 + I2 30 = 0
 c) I2 30 + I3 20 = 120 
 d) I1 60 + I3 20 = 120
 Arrangeons le système
 I1 I2 I3
 +1 +1 -1 = 0 
 -60 +30 +0 = 0
 +0 +30 +20 = 120 
 +60 +0 +20 = 120
Le code en langage C :
double ab[RA*(CA+Cb)]={
// I1 I2 I3 
 +1, +1, -1, +0, +0,
 -60, +30, +0, +0, +0, 
 +0, +30, +20, +0, +120,
 +60, +0, +20, +0, +120

La solution est donné par la résolution du système :
 I1 I2 I3 
 +1 +0 +0 +0 +1 
 +0 +1 +0 +0 +2 
 -0 -0 +1 -0 +3 
 +0 +0 +0 +0 +0 
 I1 = 1A; I2 = 2A; I3 = 3A;

Mathc matrices/a218
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
int main(void)
double ab[RA*(CA+Cb)]={
// I1 I2 I3 
 +1, +1, -1, +0, +0,
 -60, +30, +0, +0, +0, 
 +0, +30, +20, +0, +120,
 +60, +0, +20, +0, +120
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,S5,P0,C7);
 printf(" b :");
 p_mR(b,S5,P0,C7);
 printf(" Ab :");
 p_mR(Ab,S5,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_TP_mR(Ab) :\n\n"
 " I1 I2 I3 ");
 gj_TP_mR(Ab);
 p_mR(Ab,S5,P0,C7);
 stop();
 f_mR(Ab);
 f_mR(b);
 f_mR(A);
 return 0;
/* ------------------------------------ */

Exemple de sortie écran :
 A :
 +1 +1 -1 +0 
 -60 +30 +0 +0 
 +0 +30 +20 +0 
 +60 +0 +20 +0 
 b :
 +0 
 +0 
 +120 
 +120 
 Ab :
 +1 +1 -1 +0 +0 
 -60 +30 +0 +0 +0 
 +0 +30 +20 +0 +120 
 +60 +0 +20 +0 +120 
 ------------------------------------
 Copy/Past into the octave window.
 Ab=[
+1,+1,-1,+0,+0;
-60,+30,+0,+0,+0;
+0,+30,+20,+0,+120;
+60,+0,+20,+0,+120]
 rref(Ab.00000000001)
 gj_TP_mR(Ab) :
 I1 I2 I3 
 +1 +0 +0 +0 +1 
 +0 +1 +0 +0 +2 
 -0 -0 +1 -0 +3 
 +0 +0 +0 +0 +0 
 Press return to continue.

Mathc matrices/a219
Application
En étudiant le circuit dans le sens des aiguilles d'une montre, nous pouvons écrire :
 Au noeud A :
 Entrées = Sortie
 I1 = I2 + I3
 Au noeud B :
 Entrées = Sortie
 I3 = I4 + I5

Au noeud C :
 Entrées = Sortie
 I2 + I5 = I6
 Au noeud D :
 Entrées = Sortie
 I6 + I4 = I1

Soit :
 a) +I1 -I2 -I3 = 0
 +I3 -I4 -I5 = 0
 +I2 +I5 -I6 = 0
 -I1 +I4 +I6 = 0
 Partie gauche du circuit :
 90 -I2 R2 - I6 R61 = 0
 b) -I2 R2 - I6 R6 = -90
 Partie droite haute du circuit :
 I2 R2 - I3 R3 - I5 R5 = 0
 c) I2 R2 - I3 R3 - I5 R5 = 0
 Partie droite basse du circuit :
 I6 R6 + I5 R5 - I4 R4 = 0
 d) - I4 R4 + I5 R5 + I6 R6 = 0
 Partie extérieure du circuit :
 90 - I3 R3 - I4 R4 = 0
 e) - I3 R3 - I4 R4 = -90
 Donc:
 a) +I1 -I2 -I3 = 0
 +I3 -I4 -I5 = 0
 +I2 +I5 -I6 = 0
 -I1 +I4 +I6 = 0
 b) -I2 R2 -I6 R6 = -90
 c) +I2 R2 -I3 R3 -I5 R5 = 0 
 d) -I4 R4 +I5 R5 +I6 R6 = 0
 e) -I3 R3 -I4 R4 = -90

Avec R2 = 50, R3 = 20, R4 = 50, 
 R5 = 10, R6 = 20 
 a) +I1 -I2 -I3 = 0
 +I3 -I4 -I5 = 0
 +I2 +I5 -I6 = 0
 -I1 +I4 +I6 = 0
 b) -I2 50 -I6 20 = -90
 c) +I2 50 -I3 20 -I5 10 = 0 
 d) -I4 50 +I5 10 +I6 20 = 0
 e) -I3 20 -I4 50 = -90
 Arrangeons le système
 I1 I2 I3 I4 I5 I6
 +1 -1 -1 +0 +0 +0 0 0 0
 +0 +0 +1 -1 -1 +0 0 0 0
 +0 +1 +0 +0 +1 -1 0 0 0
 -1 +0 +0 +1 +0 +1 0 0 0
 +0 -50 +0 +0 +0 -20 0 0 -90
 +0 +50 -20 +0 -10 +0 0 0 0 
 +0 +0 +0 -50 +10 +20 0 0 0
 +0 +0 -20 -50 +0 +0 0 0 -90
Le code en langage C :
double ab[RA*(CA+Cb)]={
// I1 I2 I3 I4 I5 I6 
 +1, -1, -1, +0, +0, +0, 0, 0, 0,
 +0, +0, +1, -1, -1, +0, 0, 0, 0,
 +0, +1, +0, +0, +1, -1, 0, 0, 0,
 -1, +0, +0, +1, +0, +1, 0, 0, 0,
 +0, -50, +0, +0, +0, -20, 0, 0, -90,
 +0, +50, -20, +0, -10, +0, 0, 0, 0, 
 +0, +0, +0, -50, +10, +20, 0, 0, 0,
 +0, +0, -20, -50, +0, +0, 0, 0, -90,

La solution est donné par la résolution du système :
 I1 I2 I3 I4 I5 I6 
 +1.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +3.00 
 +0.00 +1.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +1.00 
 +0.00 +0.00 +1.00 +0.00 +0.00 +0.00 +0.00 +0.00 +2.00 
 +0.00 +0.00 +0.00 +1.00 +0.00 +0.00 +0.00 +0.00 +1.00 
 +0.00 +0.00 +0.00 +0.00 +1.00 +0.00 +0.00 +0.00 +1.00 
 +0.00 +0.00 +0.00 +0.00 +0.00 +1.00 +0.00 +0.00 +2.00 
 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 
 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 
 I1 = 3, I2 = 1, I3 = 2, I4 = 1, I5 = 1, I6 = 2,

Mathc matrices/a220
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
int main(void)
double ab[RA*(CA+Cb)]={
// I1 I2 I3 I4 I5 I6 
 +1, -1, -1, +0, +0, +0, 0, 0, 0,
 +0, +0, +1, -1, -1, +0, 0, 0, 0,
 +0, +1, +0, +0, +1, -1, 0, 0, 0,
 -1, +0, +0, +1, +0, +1, 0, 0, 0,
 +0, -50, +0, +0, +0, -20, 0, 0, -90,
 +0, +50, -20, +0, -10, +0, 0, 0, 0, 
 +0, +0, +0, -50, +10, +20, 0, 0, 0,
 +0, +0, -20, -50, +0, +0, 0, 0, -90,
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(" Ab :\n"
 " I1 I2 I3 I4 I5 I6 ");
 p_mR(Ab,S6,P2,C9);
 getchar();
 clrscrn();
 printf(" Copy/Past into the octave window.\n\n");
 p_Octave_mR(Ab,"Ab",P0);
 printf("\n rref(Ab.00000000001)\n\n");
 getchar();
 clrscrn();
 printf(" gj_TP_mR(Ab) :\n\n"
 " I1 I2 I3 I4 I5 I6 ");
 gj_TP_mR(Ab);
 p_mR(Ab,S6,P2,C9);
 stop();
 f_mR(Ab);
 f_mR(b);
 f_mR(A);
 return 0;
/* ------------------------------------ */