Aller au contenu

Mathc complexes/07i

Un livre de Wikilivres.


Application

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

c00d.c
/* ------------------------------------ */
/*  Save as :   c00d.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
#define   RA  R4
#define   CA  C4
#define   Cb  C1 
#define   CXY C2
/* ------------------------------------ */
int main(void)
{
double ta[RA*CA]={
/* x**3    x**2     x**1   x**0  */
 -125,    +25,     -5,     +1,        
   -8,     +4,     -2,     +1,        
   +8,     +4,     +2,     +1,        
 +125,    +25,     +5,     +1,          
};

double tb[RA*C1]={
/*     y  */
      -8,   
      +8,   
      -8,   
      +8,  
};

double xy[RA*CXY] ={  -5,      -8,
                      -2,       8,
                       2,      -8,
                       5,       8     };
                    
double **XY   = ca_A_mRZ(xy,i_mZ(RA,CXY));
double **A    = ca_A_mRZ(ta,i_mZ(RA,CA));
double **b    = ca_A_mRZ(tb,i_mZ(RA,C1));
double **Inv  =             i_mZ(CA,RA);          
double **Invb =             i_mZ(CA,C1);       

  clrscrn();
  printf(" Fitting a linear Curve to Data :\n\n");
  printf("    x     y \n");
  p_mRZ(XY,S5,P0,C6);
  printf(" A :\n x**3     x**2     x**1    x**0");
  p_mRZ(A,S7,P2,C7);
  printf(" b :\n   y ");
  p_mRZ(b,S7,P2,C7);
  stop();
  
  clrscrn();    
  printf(" Inv : ");
  invgj_mZ(A,Inv); 
  pE_mRZ(Inv,S12,P4,C10);    
  
  printf(" x = Inv * b ");   
  mul_mZ(Inv,b,Invb); 
  p_mRZ(Invb,S10,P2,C10);
  printf("\n The coefficients a, b, c of the curve are :  \n\n" 
         " y = %+.2fx**3  %+.2fx \n\n"
            ,Invb[R1][C1],Invb[R3][C1]);         
  stop();  

  f_mZ(XY);
  f_mZ(b);     
  f_mZ(A); 
  f_mZ(Inv);
  f_mZ(Invb); 

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Exemple de sortie écran :
 Fitting a linear Curve to Data :

    x     y 

   -5    -8 
   -2    +8 
   +2    -8 
   +5    +8 

 A :
 x**3     x**2     x**1    x**0
-125.00  +25.00   -5.00   +1.00 
  -8.00   +4.00   -2.00   +1.00 
  +8.00   +4.00   +2.00   +1.00 
+125.00  +25.00   +5.00   +1.00 

 b :
   y 
  -8.00 
  +8.00 
  -8.00 
  +8.00 

 Press return to continue. 


 Inv : 
 -4.7619e-03  +1.1905e-02  -1.1905e-02  +4.7619e-03 
 +2.3810e-02  -2.3810e-02  -2.3810e-02  +2.3810e-02 
 +1.9048e-02  -2.9762e-01  +2.9762e-01  -1.9048e-02 
 -9.5238e-02  +5.9524e-01  +5.9524e-01  -9.5238e-02 

 x = Inv * b 
     +0.27 
     +0.00 
     -5.07 
     +0.00 


 The coefficients a, b, c of the curve are :  

 y = +0.27x**3  -5.07x 

 Press return to continue.