Está en la página 1de 11

C + + Complex

Las funciones y los operadores correspondientes a los nmeros complejos se llevan a cabo por medio de complejo de clase y se encuentran en el directorio C + + biblioteca matemtica de nmeros complejos. La definicin de clase compleja sobrecarga el nivel de entrada, de salida, operadores aritmticos, de comparacin y asignacin de C + +, as como los nombres estndar de la exponencial, el poder logaritmo, raz cuadrada y funciones trigonomtricas (seno, coseno, seno hiperblico, y coseno hiperblico). Funciones para convertir entre coordenadas cartesianas y polares tambin se proporcionan. En esta seccin se describen las funciones, clases, y los operadores que se encuentran en complejos de clase . Las declaraciones de estas funciones y los operadores estn contenidos en el archivo de cabecera complex.h . En las descripciones de las funciones, la forma (a, b) se utiliza para representar un nmero complejo. Esto es equivalente a la expresin matemtica a + bi .

Descripcin de las funciones


Las descripciones de las funciones de la biblioteca complejo se organizan de la siguiente manera: constructores y operadores de conversin incluir constructores y operadores de conversin de variables complejas. cartesianas y polares funciones coordenadas incluyen descripciones de abs () , arg () , conj () , imag () , norma () , polar () y real () . exponencial, logartmica de potencia, y funciones de raz cuadrada incluyen descripciones de exp () , log () , pow () y sqrt () . funciones trigonomtricas e hiperblicas incluyen descripciones de sin () , cos () , senh () y cosh () . operadores incluyen los operadores disponibles para la biblioteca compleja ( + , * , == , y as sucesivamente). complejas funciones I / O proporcionar el complejo I / O, es decir, la insercin y la extraccin de los operadores << y >> . Cada conjunto de descripciones de funciones incluye la siguiente informacin:

un resumen de las funciones una breve descripcin de la finalidad de las funciones detalles sobre el diagnstico, si procede cualquier informacin preventiva adecuada.

En las siguientes descripciones, informacin de diagnstico especfico se da para una funcin o grupo de funciones, en su caso. Sin embargo, la informacin de diagnstico ms general no est incluido en este libro.Adems, algunas de las funciones de biblioteca complejos llamar SAS / C funciones de la biblioteca de matemticas. Si usted encuentra que usted necesita ms informacin sobre el manejo de errores para funciones matemticas, o si necesita ms informacin acerca de las funciones llamadas por las funciones de biblioteca complejas, consulte la Referencia SAS / C Library . Si desea utilizar los manejadores de seales a desbordamientos de trampa, consulte la SAS / C Library Reference, Volume 1 tambin.

complejo ()
Los constructores y operadores de conversin SINOPSIS # Include <complex.h> clase compleja { pblica: complejo (); complejo (double imag real, doble = 0,0); }; DESCRIPCIN Los siguientes constructores se definen para complejo de clase . complejo () permite declarar variables complejas sin inicializar ellos. Alcance Archivovariables complejas declaradas sin tener un inicializador de un valor inicial de (0,0) , otros sin inicializar variables complejas tienen un valor inicial definido. complejo (double imag real, doble = 0,0) permite la inicializacin explcita de variables complejas. Por ejemplo, las dos sentencias siguientes son vlidos: complejo c1 (1,0, 2,0); / / La parte imaginaria es 0,0. complejo c2 (1,0); Este constructor tambin permite la conversin implcita de tipos aritmticos con valores complejos. Por ejemplo, las dos sentencias siguientes son vlidos: complejo c3 = 3,4; / / c3 es (3,4, 0,0). c3 = 10 / / c3 es (10,0, 0,0). El uso de este constructor, tambin puede crear valores complejos dentro de expresiones. Aqu est un ejemplo: / / Utiliza complejo :: operator + c2 = c3 + complejo (1,2, 3,5);

abs, arg, conj, imag, norma, polar, real


Funciones cartesianas y polares SINOPSIS # Include <complex.h> clase compleja { pblica: amigo doble abs (complejo a); amigo doble arg (complejo A); amigo complejo conj (complejo A); amigo doble imag (complejo A); amigo doble norma (complejo a); amigo complejo polar (double r, doble t); amigo doble real (complejo A); }; DESCRIPCIN Las funciones siguientes se definen para complejo de clase , donde d , r , y t son de tipo doble y una y z son de tipo complejo . d = abs (a) devuelve el valor absoluto (magnitud) de un . d = arg (a) devuelve el ngulo de un (medido en radianes) en el intervalo semiabierto (a ]. z = conj (a) devuelve la conjugacin de una . Si a es (x, y) , entonces conj (a) es (x,-y) . d = imag (a) devuelve la parte imaginaria de una . d = norma (a) devuelve el cuadrado de la magnitud de una . z = polares (r, t) devuelve un complejo . Los argumentos representan un par de coordenadas polares, donde r es la magnitud y t es el ngulo (en radianes). polares (r, t) se define por la frmula r * e i * t . d = real (a) devuelve la parte real de una .

exp, log, pow, sqrt


Exponencial, Logartmica Potencia, raz cuadrada y funciones SINOPSIS # Include <complex.h> clase compleja { pblica: amigo complejo exp (complejo A); amigo complejo log (complejo A); amigo complejo pow (double a, b, complejo); amigo complejo pow (complejo a, int b); amigo complejo pow (un complejo, doble b); amigo complejo pow (un complejo, complejo b); amigo complejo sqrt (complejo A); }; DESCRIPCIN Las siguientes funciones estn sobrecargados por la biblioteca de C + + compleja, donde z es de tipo complejo y un y b son de los tipos indicados por los prototipos de funciones en la sinopsis. z = exp (a) rendimientos e un . z = log (a) devuelve el logaritmo natural de una . z = pow (a, b) devuelve una b . z = sqrt (a) devuelve la raz cuadrada de una que est contenido en el primer cuadrante o cuarto del plano complejo.

DIAGNSTICO La exp () y log () funciones tienen consideraciones especiales de diagnstico. exp () funcin Si el desbordamiento se produce por la parte real de un ser pequeo o la parte imaginaria de un ser grande, entonces exp (a) rendimientos (0,0) y errno se establece ERANGE Si la parte real de una es lo suficientemente grande para causar desbordamiento, exp (a) devuelve valores diferentes en las siguientes condiciones relacionadas con el seno y el coseno de la parte imaginaria de una. En valores de retorno de exp (a) , la parte real de un nmero complejo un depende del cos (imag (a)) y la parte imaginaria depende de la sen (imag (a)) . Corresponde enorme a la ms grande representabledoble .
Valor de retorno para exp (a) cos (imag (a)) sin (imag (a)) exp (a) regresa positivo positivo negativo o 0 negativo o 0 positivo negativo o 0 positivo negativo o 0 (ENORME, ENORME) (ENORME, ENORME-) (-ENORME, ENORME) (-ENORME, ENORME-)

Como se puede ver en esta tabla, la traduccin es simple. Si el coseno es positivo, exp (a) grandes ganancias para la parte real de una , si el coseno es negativo, exp (a) con rendimientos enorme para la parte real. Si el coseno no es positivo, exp (a) con rendimientos enorme para la parte real. Las mismas reglas vlidas para el seno y la parte imaginaria de una . En todos los casos de desbordamiento, errno se establece ERANGE . log () funcin Cuando una es (0,0), log (a) regresa (-enorme, 0) y errno se establece en EDOM .

sin, cos, sinh, cosh


Funciones trigonomtricas e hiperblicas SINOPSIS # Include <complex.h> clase compleja { pblica: amigo complejo sin (complejo A); amigo complejos cos (complejo A); amigo complejo sinh (complejo A); amigo complejo cosh (complejo A); }; DESCRIPCIN Las funciones siguientes se definen para complejo de clase , donde una y z son de tipo complejo . z = sen (a) devuelve el seno de una . z = cos (a) devuelve el coseno de una . z = sinh (a) devuelve el seno hiperblico de un . z = cosh (a) Devuelve el coseno hiperblico de un . DIAGNSTICO sin (a) y cos (a) cambio (0,0) si la parte real de un desbordamiento de las causas. Si la parte imaginaria de una es lo suficientemente grande como para causar desbordamiento, sin (a) y cos (a) los valores de retorno como se muestra en los valores devueltos para cos (a) y Valores devueltos por el pecado (a) . Corresponde enorme a la ms grande representable doble .
Valor de retorno para cos (a) cos (real (a)) sin (real (a)) cos (a) regresa positivo o 0 positivo o 0 negativo negativo positivo o 0 (ENORME, ENORME-) negativo (ENORME, ENORME)

positivo o 0 (-ENORME, ENORME-) negativo (-ENORME, ENORME)

Valores devueltos por el pecado (a) sin (real (a)) cos (real (a)) sin (a) regresa positivo o 0 positivo o 0 positivo o 0 negativo negativo negativo positivo o 0 negativo (ENORME, ENORME) (ENORME, ENORME-) (-ENORME, ENORME) (-ENORME, ENORME-)

sinh (a) y cosh (a) retorno (0,0) si la parte imaginaria de un desbordamiento de causas. Si la parte real de una es lo suficientemente grande para causar desbordamiento, sinh (a) y cosh (a) los valores de retorno de acuerdo con devolver valores para cosh (a) y senh (a) .
Devolver valores para cosh (a) y senh (a) cos (imag (a)) sin (imag (a)) cosh (a) y senh (a) tanto el retorno positivo o 0 positivo o 0 negativo negativo positivo o 0 negativo positivo o 0 negativo (ENORME, ENORME) (ENORME, ENORME-) (-ENORME, ENORME) (-ENORME, ENORME-)

En todos los casos de desbordamiento, errno se establece ERANGE .

Operadores complejos
Operadores para el C + + Library Complex SINOPSIS # Include <complex.h> clase compleja { pblica: amigo complejo operator + (un complejo, complejo b); amigo complejo operator - (complejo a); amigo complejo operator - (complejo a, complejo b); amigo complejo operador * (complejo a, complejo b); amigo complejo operador / (complejo a, complejo b); amigo complejo operador / (complejo a, Doble D); amigo int operador == (un complejo, complejo b); operador int amigo! = (un complejo, complejo b); void operador + = (complejo A); operador void - = (complejo a); operador void * = (complejo A); void operador / = (complejo A); void operador / = (double d); };

DESCRIPCIN Los operadores aritmticos habituales, operadores de comparacin y operadores de asignacin estn sobrecargados para nmeros complejos. Los habituales relaciones de precedencia entre estos operadores estn en vigor. En las siguientes descripciones, un y b son de tipo complejo y d es de tipo doble . Los operadores aritmticos Los siguientes son los operadores aritmticos. a+b es la suma aritmtica de una y b . -Un es la negacin aritmtica de una . a-b es la diferencia aritmtica de una y b . un b * es el producto aritmtico de una y b . a/bya/d son el cociente aritmtica de una y b o un y d . Los operadores de comparacin Los siguientes son los operadores de comparacin. a b == es distinto de cero si una es igual a b , es cero en caso contrario. A! = b es distinto de cero si una no es igual a b , es cero en caso contrario. Los operadores de asignacin Los siguientes son los operadores de asignacin. a+b= asigna a una suma aritmtica de la misma y b . a-b= asigna a una diferencia aritmtica de la misma y b . a*=b asigna a un producto de la aritmtica de la misma y b . a/b=ya/d= asignar a un cociente de las medias aritmticas de s mismos y b o d . PRECAUCIN Los operadores de asignacin no producen un valor que se puede utilizar en una expresin. Por ejemplo, la construccin siguiente no es vlida: complejo de a, b, c; a = (b + c =);

operador << y >> operador


Complejas funciones I / O SINOPSIS # Include <complex.h> clase compleja { pblica: ostream & operator << (ostream & os, complejo c); istream operador & >> (istream y es, complejo y c); }; DEFINICIN Las funciones siguientes se proporciona la insercin y la capacidad de extraccin de los nmeros complejos. ostream & operator << (ostream & os, complejo c) escribe un nmero complejo c a os . La salida se formatea de la siguiente manera: ( parte real , imag-parte ) donde parte real y parte imag- son las partes real e imaginaria del nmero complejo, respectivamente. Tanto la parte real y la parte imag- tienen el formato de dobles. Para obtener ms informacin, consulte la descripcin cin del operador << (ostream &, doble) en la clase ostream . El formato de parte real y parte imag- est controlado por las banderas asociados con la corriente. Verenumeracin format_state . istream operador & >> (istream y es complejo y c) lee un nmero complejo con formato de es en c . El istream debe contener el nmero complejo para ser ledo en uno de estos formatos: ( parte real , imag-parte ) ( parte real ) donde parte real y parte imag- son las partes real e imaginaria del nmero complejo, respectivamente. Tanto la parte real y la parte imag- deben tener el formato de doble s. Para obtener ms informacin, consulte la descripcin del operador >> (istream &, doble &) en istream clase . El formato de parte real y parte imag- est controlado por las banderas asociados con la corriente. Verenumeracin format_state .

Recuerde lo siguiente al realizar el complejo I / O:


debe utilizar los parntesis y las comas para entrada se puede utilizar el espacio en blanco en su entrada, pero no es significativo.

Si la variable de entrada representa un nmero real tal como 5e-2 o (502), el operador >> lo interpreta como un nmero complejo con una parte imaginaria de 0. DIAGNSTICO Si el istream no contiene un nmero complejo con el formato adecuado, operador >> establece el ios :: failbit poco en el estado de la corriente de entrada / salida.

EJEMPLOS
He aqu un ejemplo del uso de << operador : complejo c (3.4,2.1); cout << "Se trata de un complejo:" << c << endl; Este cdigo escribe la siguiente cadena al cout : Este es un complejo: (3.4,2.1) Aqu est un ejemplo de uso >> operador . Supongamos cin contiene (1,2, 3,4) . A continuacin, el siguiente cdigo lee el valor (1,2, 3,4) y el valor de c pasa a ser el (1.2,3.4) . complejo c; cin >> c;

También podría gustarte