Mathc matrices/03m
Apparence
Installer et compiler ce fichier dans votre répertoire de travail.
c00a.c |
|---|
/* ------------------------------------ */
/* Save as: c00a.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r,int rc)
{
double **A = r_mR( i_mR(r,rc),99);
double **At = transpose_mR(A, i_mR(rc,r));
double **AAt = mul_mR(A,At, i_mR(r, r));
clrscrn();
printf(" A[R%d,C%d]: \n",rsize_R(A),csize_R(A));
p_mR(A, S4,P0, C4);
printf(" At[R%d,C%d]: Transpose\n",
rsize_R(At),csize_R(At));
p_mR(At, S4,P0, C4);
printf(" AAt[R%d,C%d]: \n",rsize_R(AAt),csize_R(AAt));
p_mR(AAt, S7,P0, C4);
f_mR(A);
f_mR(At);
f_mR(AAt);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
fun(rp_I(R4),rp_I(RC4));
while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Multiplier A par sa transposée donne une matrice symétrique
Exemple de sortie écran :
A[R4,C3]:
-27 -36 +44
+58 -43 +80
+64 -87 +25
+33 -28 +37
At[R3,C4]: Transpose
-27 +58 +64 +33
-36 -43 -87 -28
+44 +80 +25 +37
AAt[R4,C4]:
+3961 +3502 +2504 +1745
+3502 +11613 +9453 +6078
+2504 +9453 +12290 +5473
+1745 +6078 +5473 +3242
Press return to continue
Press X return to stop