Mathc matrices/c24j

Un livre de Wikilivres.


Application


Installer et compiler ces fichiers dans votre répertoire de travail.


c01b.c
/* ------------------------------------ */
/*  Save as : c01b.c                    */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
#define   RB R2
#define   CB C2

#define   RU R2
#define   CU C1
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
{
double b[RB*CB]={
    +2,  4,   
    +6,  2
};

double u_s[RU*(CU)]={
    +6,   
    +8
};

double **B    = ca_A_mR(  b,i_mR(RB,CB));
double **invB = ca_A_mR(  b,i_mR(RB,CB));
double **U_s  = ca_A_mR(u_s,i_mR(RU,CU));
double **U_b  =             i_mR(RU,CU) ;

  clrscrn();
  printf(" B is the change of basis matrix for \"B\" \n\n"
         " Find the coordinate of U in the \"B\" basis.\n\n"
         " B :  ");
  p_mR(B,S4,P0,C7);
  printf(" U_s :   the coordinate of U in the Standard basis");
  p_mR(U_s,S4,P0,C7);

  printf(" invB : ");
  p_mR(inv_mR(B,invB),S6,P4,C7);
  printf("         invB*U_s = U_b \n\n"
         " U_b :   the coordinate of U in the \"B\" basis");
  p_mR(mul_mR(invB,U_s,U_b),S6,P4,C7);
  stop();

  f_mR(U_s);
  f_mR(U_b);
  f_mR(B);
  
  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


Matrice de passage inversible :

Soit B la matrice de changement de base de B 
Trouver les coordonnées de U dans la base B  : 
       B * U_b = U_s         
  invB B * U_b = invB U_s
           U_b = invB U_s    


Exemple de sortie écran :
 ------------------------------------ 


 B is the change of basis matrix for "B" 

 Find the coordinate of U in the "B" basis.

 B :  
  +2   +4 
  +6   +2 

 U_s :   the coordinate of U in the Standard basis
  +6 
  +8 

 invB : 
-0.1000 +0.2000 
+0.3000 -0.1000 

         invB*U_s = U_b 

 U_b :   the coordinate of U in the "B" basis
+1.0000 
+1.0000 

 Press return to continue.