Aller au contenu

Mathc complexes/a138

Un livre de Wikilivres.


Application

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

c00a.c
/* ------------------------------------ */
/*  Save as :   c00b.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define   RCA        RC4
/* ------------------------------------ */
double **sin_mZ(
double **A,
double **sinA
)
{	
double **A_n     = i_mZ(RCA,RCA);
double **sA      = i_mZ(RCA,RCA);
double **NewsinA = i_mZ(RCA,RCA);

int n = 12; 
int i;
int j;  
	
  for(i=1.,j=0.; i <= n; i+=2.,j++)
   {
     pow_mZ(i, A, A_n);         
    smul_mZ(pow((-1),j)/factorial(i), A_n, sA);      
     add_mZ(sinA,sA,NewsinA);    
       c_mZ(NewsinA,sinA);
   }
   
  f_mZ(A_n);
  f_mZ(sA);
  f_mZ(NewsinA);
   
  return (sinA);	
}
/* ------------------------------------ */
double **cos_mZ(
double **A,
double **cosA
)
{	
double **A_n     = i_mZ(RCA,RCA);
double **sA      = i_mZ(RCA,RCA);
double **NewcosA = i_mZ(RCA,RCA);

int n = 12; 
int i; 
int j; 
	
  for(i=0.,j=0.; i <= n; i+=2.,j++)
   {
     pow_mZ(i, A, A_n);         
    smul_mZ(pow((-1),j)/factorial(i), A_n, sA);      
     add_mZ(cosA,sA,NewcosA);    
       c_mZ(NewcosA,cosA);
   }
   
  f_mZ(A_n);
  f_mZ(sA);
  f_mZ(NewcosA);
   
  return (cosA);	
}
/* ------------------------------------ */
void fun(void)
{
double **A    = rE_mZ(i_mZ(RCA,RCA),999,+1.E-3); 
double **sinA =      i_mZ(RCA,RCA);   
double **cosA =      i_mZ(RCA,RCA);
double **sinA2 =     i_mZ(RCA,RCA);   
double **cosA2 =     i_mZ(RCA,RCA);
      
   clrscrn();   
   printf(" A:");
   p_mZ(A,S8,P4,S8,P4,C6);
    
   sin_mZ(A, sinA);
   cos_mZ(A, cosA);   
   
   printf(" sinA :");
   p_mZ(sinA,S8,P4,S8,P4,C6);
   printf(" cosA :");
   p_mZ(cosA,S8,P4,S8,P4,C6);   
   stop();

   clrscrn(); 
   pow_mZ(2, sinA, sinA2);
   pow_mZ(2, cosA, cosA2); 
   
   printf(" sinA2 :");
   p_mZ(sinA2,S8,P4,S8,P4,C6);
   printf(" cosA2 :");
   p_mZ(cosA2,S8,P4,S8,P4,C6); 
      
   add_mZ(cosA2,sinA2,A);  
   printf(" I = cosA**2  + sinA**2 ");
   p_mZ(A,S8,P4,S8,P4,C6);     

   f_mZ(A);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

do
{
    fun();
    
} while(stop_w());

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
         SinhA =   + A + (1/3!) A**3 + (1/5!) A**5  + (1/7!) A**7 + ...
         CoshA =   + I + (1/2!) A**2 + (1/4!) A**4  + (1/6!) A**6 + ...
Exemple de sortie écran :
 A:
 -0.8070 +0.8800i  -0.8330 +0.4190i  +0.0050 -0.9040i  -0.1620 +0.9800i 
 +0.1990 +0.2760i  -0.7730 +0.6730i  -0.7110 +0.0450i  -0.7390 -0.9980i 
 +0.5940 -0.2850i  +0.1640 -0.3970i  +0.6490 -0.1590i  +0.3200 -0.4990i 
 -0.6320 -0.9360i  -0.8460 +0.3360i  +0.6320 -0.4540i  +0.2820 -0.9160i 

 sinA :
 -1.3869 +0.5728i  -1.2199 -0.4066i  +0.2260 -1.1356i  -0.1920 +0.7447i 
 -0.0320 +0.7880i  -0.8719 +0.9700i  -0.7794 -0.3384i  -0.4805 -0.7590i 
 +0.6700 -0.1590i  +0.1950 -0.0790i  +0.6136 -0.0230i  +0.2775 -0.3662i 
 -0.3248 -0.9079i  -0.4434 +0.0338i  +0.7565 -0.1140i  +0.4971 -0.4950i 

 cosA :
 +0.6510 +1.4287i  -0.4284 +1.3902i  -0.7941 -0.4375i  -0.2451 +0.0705i 
 +0.9277 -0.4226i  +0.8066 +0.3906i  +0.1366 +0.4803i  +0.1989 -0.4149i 
 +0.2234 -0.2504i  +0.2241 -0.4782i  +0.9654 +0.4808i  +0.2018 +0.0458i 
 -0.2224 +0.0607i  -0.5301 -0.1969i  +0.0210 +0.3243i  +0.4071 +0.4070i 

 Press return to continue. 


 sinA2 :
 +2.6641 -3.4013i  +3.3970 -1.5396i  +1.2024 +2.3173i  +0.0374 +0.0457i 
 -2.2526 -1.2493i  +0.2387 -2.3238i  +0.9593 -0.9557i  -0.3803 +0.0727i 
 -0.7973 +0.5145i  -0.9683 +0.2984i  +0.3363 -1.1382i  -0.0453 -0.1310i 
 +0.8359 +0.2355i  +0.3157 +0.9343i  +0.0338 -0.2313i  +1.1475 -0.5480i 

 cosA2 :
 -1.6641 +3.4013i  -3.3970 +1.5396i  -1.2024 -2.3173i  -0.0374 -0.0457i 
 +2.2526 +1.2493i  +0.7613 +2.3238i  -0.9593 +0.9557i  +0.3803 -0.0727i 
 +0.7973 -0.5145i  +0.9683 -0.2984i  +0.6637 +1.1382i  +0.0453 +0.1310i 
 -0.8359 -0.2355i  -0.3157 -0.9343i  -0.0338 +0.2313i  -0.1475 +0.5480i 

 I = cosA**2  + sinA**2 
 +1.0000 +0.0000i  -0.0000 +0.0000i  -0.0000 -0.0000i  -0.0000 +0.0000i 
 +0.0000 -0.0000i  +1.0000 +0.0000i  -0.0000 +0.0000i  +0.0000 -0.0000i 
 +0.0000 -0.0000i  +0.0000 -0.0000i  +1.0000 +0.0000i  +0.0000 +0.0000i 
 -0.0000 +0.0000i  -0.0000 -0.0000i  +0.0000 -0.0000i  +1.0000 -0.0000i 


 Press   return to continue
 Press X return to stop