Mathc matrices/c26e
Installer et compiler ces fichiers dans votre répertoire de travail.
cq4.c |
---|
/* ------------------------------------ */
/* Save as : cq4.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
#define RA R3
#define CA C3
#define CB C3
/* ------------------------------------ */
void fun(void)
{
double **A = r_Q_mR(i_mR(RA,CA),99);
double **B = r_mR(i_mR(RA,CB),99.);
double **Ab = i_Abr_Ac_bc_mR(RA,CA,CB);
double **b[CB];
double **a[CA];
int c;
clrscrn();
printf(" A : Orthonormal");
p_mR(A,S9,P4,C6);
printf(" b[C0] b[C1] b[C2] :");
p_mR(B,S9,P1,C6);
printf(" Ab :");
c_A_b_Ab_mR(A,B,Ab);
p_mR(Ab,S9,P4,C6);
printf(" gj_TP_mR(Ab) : x[C0] x[C1] x[C2]");
gj_TP_mR(Ab);
p_mR(Ab,S9,P4,C6);
stop();
/* ------------------------------------ */
/* ------------------------------------ */
for(c=C0; c<CB; c++)
{
b[c] = i_mR(RA,C1);
c_c_mR(B,(c+C1),b[c],C1); }
for(c=C0; c<CA; c++)
{
a[c] = i_mR(RA,C1);
c_c_mR(A,(c+C1),a[c],C1); }
/* ------------------------------------ */
/* ------------------------------------ */
clrscrn();
for(c=C0; c<CA; c++)
{
printf(" a[%d] :",c);
pE_mR(a[c],S12,P4,C6); }
stop();
clrscrn();
for(c=C0; c<CB; c++)
{
printf(" b[%d] :",c);
p_mR(b[c],S12,P4,C6); }
stop();
clrscrn();
printf(" x[C0] :\n");
for(c=C0; c<CA; c++)
printf("%+15.7f <b[C0],a[%d]>\n",dot_R(b[C0],a[c]), c);
printf("\n x[C1] :\n");
for(c=C0; c<CA; c++)
printf("%+15.7f <b[C1],a[%d]>\n",dot_R(b[C1],a[c]), c);
printf("\n x[C2] :\n");
for(c=C0; c<CA; c++)
printf("%+15.7f <b[C2],a[%d]>\n",dot_R(b[C2],a[c]), c);
printf("\n gj_TP_mR(Ab) :\t\t\t x[C0] x[C1] x[C2]");
p_mR(Ab,S12,P7,C6);
/* ------------------------------------ */
/* ------------------------------------ */
for(c=C0; c<CA; c++)
f_mR(a[c]);
for(c=C0; c<CB; c++)
f_mR(b[c]);
/* ------------------------------------ */
/* ------------------------------------ */
f_mR(Ab);
f_mR(B);
f_mR(A);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun();
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Résoudre un système d'équation quand A est une matrice orthonormale : Ici B est composé de trois vecteurs.
Exemple de sortie écran :
--------------------------------
A : Orthonormal
+0.4206 -0.8146 +0.3993
+0.8698 +0.4872 +0.0779
-0.2581 +0.3146 +0.9135
b[C0] b[C1] b[C2] :
+86.0 +5.0 +85.0
-64.0 -81.0 -48.0
+31.0 -24.0 -96.0
Ab :
+0.4206 -0.8146 +0.3993 +86.0000 +5.0000 +85.0000
+0.8698 +0.4872 +0.0779 -64.0000 -81.0000 -48.0000
-0.2581 +0.3146 +0.9135 +31.0000 -24.0000 -96.0000
gj_TP_mR(Ab) : x[C0] x[C1] x[C2]
+1.0000 +0.0000 +0.0000 -27.4987 -62.1564 +18.7721
+0.0000 +1.0000 +0.0000 -91.4910 -51.0885 -122.8308
+0.0000 +0.0000 +1.0000 +57.6734 -26.2401 -57.4909
Press return to continue.
--------------------------------
a[0] :
+4.2056e-01
+8.6979e-01
-2.5807e-01
a[1] :
-8.1465e-01
+4.8723e-01
+3.1457e-01
a[2] :
+3.9935e-01
+7.7942e-02
+9.1348e-01
Press return to continue.
--------------------------------
b[0] :
+86.0000
-64.0000
+31.0000
b[1] :
+5.0000
-81.0000
-24.0000
b[2] :
+85.0000
-48.0000
-96.0000
Press return to continue.
--------------------------------
x[C0] :
-27.4986985 <b[C0],a[0]>
-91.4909652 <b[C0],a[1]>
+57.6734328 <b[C0],a[2]>
x[C1] :
-62.1564257 <b[C1],a[0]>
-51.0885041 <b[C1],a[1]>
-26.2401124 <b[C1],a[2]>
x[C2] :
+18.7721390 <b[C2],a[0]>
-122.8307878 <b[C2],a[1]>
-57.4909067 <b[C2],a[2]>
gj_TP_mR(Ab) : x[C0] x[C1] x[C2]
+1.0000000 +0.0000000 +0.0000000 -27.4986985 -62.1564257 +18.7721390
+0.0000000 +1.0000000 +0.0000000 -91.4909652 -51.0885041 -122.8307878
+0.0000000 +0.0000000 +1.0000000 +57.6734328 -26.2401124 -57.4909067
Press return to continue
Press X to stop