Usando números complexos em C++
#include <iostream.h> #include <complex.h> // Este programinha calcula o logaritmo de -1, que obviamente // nao e' um numero real. Calcula tambem o cosseno de i. // // Usa a funcao logaritmo complexa do C++ que e' definida como // log(z) = log(abs(z)) + i arg(z) // e a funcao cosseno complexa que e' definida como // cos(z) = (exp (i*z) + exp(-i*z))/2 int main(void) { double x = -1, y = 0; complex w, z = complex(x, y); cout << "z = "<< z << "\n"; cout << "A parte real de z e' " << real(z); cout << " e a parte imaginaria e' " << imag(z) << " \n"; w = log(z); // Logaritmo complexo de z cout << "\nlog(z) = "<< w << "\n"; cout << "O logaritmo de -1 e' o numero complexo pi*i " << "\n"; z = complex(0, 1); // z = (0, 1) = i w = cos(z); // Cosseno de i cout << "\ncos(i) = " << w << "\n"; cout << "Note que o cosseno de i e' um numero real maior do que 1 !!!\n"; return 0; }
A saída do programinha listado acima está mostrada a seguir.
Observe que o C++ denota o número complexo a+bi na forma (a, b),
como é usual em Matemática.
z = (-1, 0) A parte real de z e' -1 e a parte imaginaria e' 0 log(z) = (0, 3.141593) O logaritmo de -1 e' o numero complexo pi*i cos(i) = (1.543081, 0) Note que o cosseno de i e' um numero real maior do que 1 !!!