Mathc complexes/a138
Apparence
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