Nuage de points en spirale et fonctions RACINE, SIN, COS et ACOS
Ave, tous et toutes,
Au sujet de la spirale de Théodore trouvée sur Facebook et que j'ai voulu reproduire sur Excel en ajoutant mes fantaisies. Je vous laisse le soin de rajouter les vôtres.
Serge
Bonjour à tous,
J'ai trouvé le sujet curieux et notamment la partie Escargot de Pythagore — Wikipédia § Courbe régulière interpolante, avec un produit infini sur une expression complexe.
Je me suis dit qu'il s'agissait d'un bon sujet pour tester les fonctions complexes d'Excel dans Office 365. Mais j'ai été un peu déçu… Elles sont assez vétustes et ne s'adaptent pas bien aux opérations matricielles.
Ainsi ma première approche pour calculer l'approximation de Davis (pour x=2) fut :
=LET(
_x; 2;
_inf; 100000;
_k; SEQUENCE(_inf);
COMPLEXE.PRODUIT(
COMPLEXE.DIV(
COMPLEXE.SOMME(1; COMPLEXE.DIV(COMPLEXE(0; 1); RACINE(_k)));
COMPLEXE.SOMME(1; COMPLEXE.DIV(COMPLEXE(0; 1); RACINE(_x + _k)))
);
1
)
)Cependant cela ne donne pas le résultat attendu car la somme intermediaire "consomme" tous les "k" contenus dans "_k". On se retrouve donc avec un scalaire au lieu d'un vecteur.
Il faut donc passer par MAKEARRAY ou REDUCE pour itérer sur chaque "k" du produit infini, par exemple (pour approximer x=2 toujours) :
=LET(
_x; 2;
_inf; 100000;
_arr; MAKEARRAY(
_inf;
1;
LAMBDA(_k; c;
LET(
_num; COMPLEXE.SOMME(1; COMPLEXE.DIV(COMPLEXE(0; 1); RACINE(_k)));
_den; COMPLEXE.SOMME(1; COMPLEXE.DIV(COMPLEXE(0; 1); RACINE(_x + _k)));
COMPLEXE.DIV(_num; _den)
)
)
);
COMPLEXE.PRODUIT(_arr)
)On peut ensuite récupérer les coordonnées dans le plan complexe de ce nombre (disons, calculé en A1) avec
=COMPLEXE.REEL(A1) et =COMPLEXE.IMAGINAIRE(A1)
J'ai remarqué que l'infini autour de kmax=100 000 pour la somme donne un résultat assez proche de l'approximation calculée via la méthode exacte de garnote. Par contre si l'on passe sur kmax=1 000 000 ça commence à bien ramer (qqes secondes chez moi) pour juste 1 calcul…
Voilà voilà, sujet intéressant pour jouer avec des fonctions Excel souvent délaissées !