"Daniel" wrote:
>
>"joel" a écrit dans le message de news:
>brarvc$uml$1@news-reader1.wanadoo.fr...
>[color=green]
>> Dans Excel, tu peux programmer en VisualBasic. Et en VisualBasic, on fait
>> ce qu'on veut.>
>Même extraire les trois racines cubiques d'un nombre complexe ?
>
>Daniel
>[/color]
Oui c'est sans doute possible. J'ai une classe de complexes en C++
qui peut le faire (source
http://www.nscl.msu.edu/~volya/alexander/cpp/cpp.html):la fonction "root" est:
Complex root (const Complex &z, int n, int k)
{
double c=exp(log(abs(z))/n);
double t=(Arg(z)+2*PI*k)/n;
return Complex (c*cos(t), c*sin(t));
}
Dans la 1ere ligne, abs(z) retourne un réel, alors log() et exp() sont
les fonctions de la librairie C++ standard.
Dans la 2eme ligne Arg(z) retourne aussi un réel, et dans la 3eme
ligne cos() et sin() sont les fonctions de C++.
Les fonctions abs() et Arg() sont faciles à écrire en VB, c'est le
module et l'argument d'un complexe. Et les autres fonctions exp(),
log(), sin(0 et cos() existent déjà en VB. Alors je ne vois pas de
difficulté à convertir cette routine (ni toute la classe en fait) en
VB.
A l'exécution ca donne par exemple:
Racines 3iemes de 1 + 1i :
k=0: 1.08422 + 0.290515i
k=1: -0.793701 + 0.793701i
k=2: -0.290515 + -1.08422i