Mathc complexes/a129
Apparence
Installer et compiler ces fichiers dans votre répertoire de travail.
c00a.c |
---|
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define RCA RC4
/* ------------------------------------ */
void fun(void)
{
int n = 10;
int i = 0;
double **A = rE_mZ(i_mZ(RCA,RCA),999,+1.E-3);
double **A_n = i_mZ(RCA,RCA);
double **sA = i_mZ(RCA,RCA);
double **ExpA = i_mZ(RCA,RCA);
double **NewExpA = i_mZ(RCA,RCA);
clrscrn();
printf(" Copy/Past into the octave window. \n\n");
p_Octave_mZ(A, "A", P3, P3);
printf(" expm (A)\n\n\n");
for(i = 0; i <= n; i++)
{
pow_mZ(i, A, A_n);
smul_mZ(1./factorial(i), A_n, sA);
add_mZ(ExpA,sA,NewExpA);
c_mZ(NewExpA,ExpA);
}
printf(" ExpA :");
p_mZ(ExpA,S8,P6,S8,P6,C4);
f_mZ(A);
f_mZ(A_n);
f_mZ(sA);
f_mZ(ExpA);
f_mZ(NewExpA);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun();
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
ExpA = Ide + A + (1/2) A**2 + (1/6) A**3 + ... + 1/(n-1)! A**(n-1)
Exemple de sortie écran :
------------------------------------
Copy/Past into the octave window.
A=[
-0.931+0.156*i,+0.215-0.504*i,+0.875-0.822*i,+0.418-0.106*i;
+0.288-0.738*i,-0.932+0.063*i,+0.568+0.540*i,-0.662+0.345*i;
+0.288-0.616*i,+0.123-0.495*i,-0.172+0.494*i,-0.964-0.190*i;
-0.433-0.191*i,+0.004-0.803*i,+0.847-0.280*i,+0.011-0.540*i]
expm (A)
ExpA :
+0.278034-0.263946i +0.039443-0.359540i +0.677053-0.373020i -0.103917+0.213178i
+0.333674-0.267614i +0.448775+0.064881i +0.063273+0.212616i -0.428475+0.081523i
+0.288970-0.221687i +0.035377-0.072844i +0.506777+0.130905i -0.716659-0.053923i
-0.431989-0.282729i -0.199920-0.509689i +0.524032-0.342780i +0.620337-0.224214i
Press return to continue
Press X to stop