complejo - números complejos
#include <complex.h>
Los números complejos tiene el siguiente formato: z = a+b*i, donde a y b
son números reales e i = raizcuadrada(-1), siendo i*i = -1.
Son posibles otras formas de representación de este número. La
pareja de números reales (a,b) puede verse como un punto en el plano
dado por unas coordenadas X e Y. Este punto también se puede denotar
con el par de números reales (r,phi), siendo r la distancia al origen 0
y phi el ángulo entre el eje X y la línea Oz. Entonces: z =
r*exp(i*phi) = r*(cos(phi)+i*sen(phi))
Las operaciones básicas se definen a continuación. Sean z = a+b*i
y w = c+d*i:
- suma: z+w = (a+c) + (b+d)*i
- multiplicación: z*w = (a*c - b*d) + (a*d +
b*c)*i
- división: z/w = ((a*c + b*d)/(c*c + d*d)) + ((b*c
- a*d)/(c*c + d*d))*i
La práctica totalidad de funciones matemáticas tiene un
homólogo complejo pero existen algunas funciones exclusivamente
complejas.
Un compilador de C puede trabajar con números complejos si incluye
soporte para el estándar C99. Enlaza con
-lm. La unidad
imaginaria se representa con I.
/* comprueba que exp(i * pi) == -1 */
#include <math.h> /* para atan */
#include <stdio.h>
#include <complex.h>
int
main(void)
{
double pi = 4 * atan(1.0);
double complex z = cexp(I * pi);
printf("%f + %f * i\n", creal(z), cimag(z));
}
cabs(3),
cacos(3),
cacosh(3),
carg(3),
casin(3),
casinh(3),
catan(3),
catanh(3),
ccos(3),
ccosh(3),
cerf(3),
cexp(3),
cexp2(3),
cimag(3),
clog(3),
clog10(3),
clog2(3),
conj(3),
cpow(3),
cproj(3),
creal(3),
csin(3),
csinh(3),
csqrt(3),
ctan(3),
ctanh(3)
La traducción al español de esta página del manual fue
creada por Marcos Fouces <
[email protected]>
Esta traducción es documentación libre; lea la
GNU
General Public License Version 3 o posterior con respecto a las
condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta página
del manual, envíe un correo electrónico a
[email protected]