« Mathc matrices/c32d » : différence entre les versions
Contenu supprimé Contenu ajouté
modification mineure |
(Aucune différence)
|
Version du 26 novembre 2021 à 18:38
Installer et compiler ces fichiers dans votre répertoire de travail.
c02b.c |
---|
/* ------------------------------------ */
/* Save as : c02b.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
int main(void)
{
double t[R3*C4]={ 1,0,0, 1,
0,1,0, .5,
0,0,1, 1./3.};
double **T = ca_A_mR(t,i_mR(R3,C4));
double **A = rE_mR(i_mR(R3,C3),999.,1E-3);
double **AT = mul_mR(A,T,i_mR(R3,C4));
double **Ab = gj_TP_mR(c_mR(AT,i_Abr_Ac_bc_mR(R3,C3,C1)));
printf(" You want to create this nonlinear system of equations :\n");
printf(" (X, Y, Z not 0)\n");
printf("\n");
printf(" a 1/X + b 1/Y + c 1/Z = d \n");
printf(" e 1/X + f 1/Y + g 1/Z = h \n");
printf(" i 1/X + j 1/Y + k 1/Z = l \n");
printf("\n");
printf(" With 1/X = 1, 1/Y = .5, 1/Z = .333333 \n");
printf("\n");
printf(" In fact, you want to find a matrix, \n");
printf(" which has this reduced row-echelon form :\n\n");
p_mR(T,S5,P3,C6);
getchar();
printf(" I suggest this matrix : \n");
p_mR(AT,S5,P3,C6);
getchar();
printf("\n With the Gauss Jordan function :\n");
p_mR(Ab,S5,P3,C6);
getchar();
f_mR(Ab);
f_mR(A);
f_mR(T);
f_mR(AT);
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Le but de ce travail est de créer des systèmes dont on connait le résultat par avance.
Exemple de sortie écran :
You want to create this nonlinear system of equations :
(X, Y, Z not 0)
a 1/X + b 1/Y + c 1/Z = d
e 1/X + f 1/Y + g 1/Z = h
i 1/X + j 1/Y + k 1/Z = l
With 1/X = 1, 1/Y = .5, 1/Z = .333333
In fact, you want to find a matrix,
which has this reduced row-echelon form :
+1.000 +0.000 +0.000 +1.000
+0.000 +1.000 +0.000 +0.500
+0.000 +0.000 +1.000 +0.333
I suggest this matrix :
-0.479 -0.665 +0.154 -0.760
-0.269 -0.501 +0.998 -0.187
+0.992 +0.904 -0.763 +1.190
With the Gauss Jordan function :
+1.000 +0.000 -0.000 +1.000
+0.000 +1.000 +0.000 +0.500
-0.000 +0.000 +1.000 +0.333