Aller au contenu

Mathc matrices/c25d2

Un livre de Wikilivres.


Application


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


c02.c
/* ------------------------------------ */
/*  Save as :   c02.c                   */
/* ------------------------------------ */
#include "v_a.h"
#include   "d.h"
/* --------------------------------- */
int main(void)
{
double   p[R3*C3] ={ 1,  7,       
                     6,  2,       
                     4,  6};

                     
double **Ap =       ca_A_mR( p, i_mR(R3,C2));
double **A  = m_circle_A_mR(Ap, i_mR(R4,C4));

int r;

  clrscrn();
  printf(" Theorem.\n\n");
  printf(" A homogeneous linear system with as many equations\n");
  printf(" as unknowns has a nontrivial  solution if and only\n");
  printf(" if the determinant  of the  coefficient  matrix is\n");
  printf(" zero.\n\n");
  
  printf(" Equation of a circle:   \n\n");
  printf(" c1(x^2 +y^2)  + c2 x  + c3 y  + c4 = 0\n\n");    
  
  printf(" The same equation with the values of the three points:\n\n");
  for(r=R1;r<Ap[R_SIZE][C0];r++)
      printf(" c1(x%d^2+y%d^2)"
             " + c2 x%d + c3 y%d + c4 = 0\n",r,r,r,r);      
  
  printf(" The four equation:\n\n");
  printf(" c1(x^2 + y^2) + c2 x  + c3 y  + c4 = 0\n");    
  for(r=R1;r<Ap[R_SIZE][C0];r++)
      printf(" c1(x%d^2+y%d^2)"
             " + c2 x%d + c3 y%d + c4 = 0\n",r,r,r,r);      
  stop();
 
  clrscrn();
  printf(" The three points:\n\n");
  for(r=R1;r<Ap[R_SIZE][C0];r++)
       printf(" P%d(%+.0f,%+.0f)",r,Ap[r][C1],Ap[r][C2]);
 
  printf(" The determinant :\n\n (cofactor expansion along the first row)\n\n");
  
  printf("  x^2+y^2  x     y     1");
  p_Det_mR(A,6,0);
  
  printf(" The equation of the circle : \n\n");
  
  printf(" %+.0f(x^2+y^2) %+.0f x %+.0f y %+.0f = 0\n\n",
           cofactor_R(A,R1,C1),
           cofactor_R(A,R1,C2),
           cofactor_R(A,R1,C3),
           cofactor_R(A,R1,C4));
           
  printf(" Verify the result : \n\n");           
  for(r=R1;r<Ap[R_SIZE][C0];r++)
      verify_eq_circle_mR(A, Ap[r][C1],
                             Ap[r][C2]);
                                          
  stop();
 
  f_mR(A);
  f_mR(Ap);

  return 0;
}
/* --------------------------------- */
/* --------------------------------- */



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

 Theorem.

 A homogeneous linear system with as many equations
 as unknowns has a nontrivial  solution if and only
 if the determinant  of the  coefficient  matrix is
 zero.

 Equation of a circle:   

 c1(x^2 +y^2)  + c2 x  + c3 y  + c4 = 0

 The same equation with the values of the three points:

 c1(x1^2+y1^2) + c2 x1 + c3 y1 + c4 = 0
 c1(x2^2+y2^2) + c2 x2 + c3 y2 + c4 = 0
 c1(x3^2+y3^2) + c2 x3 + c3 y3 + c4 = 0
 The four equation:

 c1(x^2 + y^2) + c2 x  + c3 y  + c4 = 0
 c1(x1^2+y1^2) + c2 x1 + c3 y1 + c4 = 0
 c1(x2^2+y2^2) + c2 x2 + c3 y2 + c4 = 0
 c1(x3^2+y3^2) + c2 x3 + c3 y3 + c4 = 0
 Press return to continue. 



 The three points:

 P1(+1,+7) P2(+6,+2) P3(+4,+6) The determinant :

 (cofactor expansion along the first row)

  x^2+y^2  x     y     1
   +50    +1    +7    +1
   +40    +6    +2    +1
   +52    +4    +6    +1

 The equation of the circle : 

 +10(x^2+y^2) -20 x -40 y -200 = 0

 Verify the result : 

 With x= +1.0 y= +7.0  eq=-0.00000
 With x= +6.0 y= +2.0  eq=-0.00000
 With x= +4.0 y= +6.0  eq=-0.00000
 Press return to continue.