Espacios de nombres
Variantes
Acciones

std::exp(std::complex)

De cppreference.com
< cpp‎ | numeric‎ | complex
 
 
 
std::complex
Funciones miembro
Funciones no miembro
Funciones exponenciales
exp
Funciones de potencias
Funciones trigonométricas
(C++11)
(C++11)
(C++11)
Funciones hiperbólicas
(C++11)
(C++11)
(C++11)
 
Definido en el archivo de encabezado <complex>
template< class T >
complex<T> exp( const complex<T>& z );

Calcula el exponencial base e de z, es decir e (el número de Euler, 2.7182818) elevado a la potencia z.

Contenido

[editar] Parámetros

z - El valor complejo.

[editar] Valor de retorno

Si no se producen errores, e elevado a la potencia de z, se devuelve ez
.

[editar] Manejo de errores y valores especiales

Los errores se informan de acuerdo con math_errhandling.

Si la implementación es compatible con la aritmética de punto flotante IEEE,

  • std::exp(std::conj(z)) == std::conj(std::exp(z)).
  • Si z es (±0,+0), el resultado es (1,+0).
  • Si z es (x,+∞) (para cualquier x finita), el resultado es (NaN,NaN) y se produce FE_INVALID.
  • Si z es (x,NaN) (para cualquier x finita), el resultado es (NaN,NaN) y puede producirse FE_INVALID.
  • Si z es (+∞,+0), el resultado es (+∞,+0).
  • Si z es (-∞,y) (para cualquier y finita), el resultado es +0cis(y).
  • Si z es (+∞,y) (para cualquier y finita distinta de cero), el resultado es +∞cis(y).
  • Si z es (-∞,+∞), el resultado es (±0,±0) (los signos no están especificados).
  • Si z es (+∞,+∞), el resultado es (±∞,NaN) y se produce FE_INVALID (el signo de la parte real no está especificado).
  • Si z es (-∞,NaN), el resultado es (±0,±0) (los signos no están especificados).
  • Si z es (+∞,NaN), el resultado es (±∞,NaN) (el signo de la parte real no está especificado).
  • Si z es (NaN,+0), el resultado es (NaN,+0).
  • Si z es (NaN,y) (para cualquier y distinta de cero), el resultado es (NaN,NaN) y puede producirse FE_INVALID.
  • Si z es (NaN,NaN), el resultado es (NaN,NaN).

Donde cis(y) es cos(y) + i sin(y).

[editar] Notas

La función exponencial compleja ez
para z = x+iy es igual a ex
cis(y)
, o, ex
(cos(y) + i sin(y))

La función exponencial es una "función completa" en el plano complejo y no tiene puntos de ramificación.

Los siguientes tienen resultados equivalentes cuando la parte real es 0:

En este caso, exp puede ser unas 4,5 veces más lenta. Se debe usar una de las otras formas en lugar de usar exp con un componente literal 0. Sin embargo, no hay ningún beneficio en tratar de evitar exp con una verificación en tiempo de ejecución de z.real() == 0.

[editar] Ejemplo

#include <complex>
#include <iostream>
 
int main()
{
   const double pi = std::acos(-1);
   const std::complex<double> i(0, 1);
 
   std::cout << std::fixed << " exp(i*pi) = " << std::exp(i * pi) << '\n';
}

Salida:

exp(i*pi) = (-1.000000,0.000000)

[editar] Véase también

Logaritmo natural complejo con los cortes de ramificaciones a lo largo del eje real negativo.
(plantilla de función) [editar]
(C++11)(C++11)
Devuelve e elevada a la potencia dada (ex)
(función) [editar]
se aplica la std::exp función a cada elemento de valarray
Original:
applies the function std::exp to each element of valarray
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(plantilla de función) [editar]
Construye un número complejo a partir de una magnitud y un ángulo de fase.
(plantilla de función) [editar]