SlideShare una empresa de Scribd logo
1 de 11
C + + Complex
Las funciones y los operadores correspondientes a los números complejos se
llevan a cabo por medio de complejo de clase y se encuentran en el directorio C +
+ biblioteca matemática de números complejos. La definición de clase
compleja sobrecarga el nivel de entrada, de salida, operadores aritméticos, de
comparación y asignación de C + +, así como los nombres estándar de la
exponencial, el poder logaritmo, raíz cuadrada y funciones trigonométricas (seno,
coseno, seno hiperbólico, y coseno hiperbólico). Funciones para convertir entre
coordenadas cartesianas y polares también se proporcionan. En esta sección se
describen las funciones, clases, y los operadores que se encuentran en complejos
de clase . Las declaraciones de estas funciones y los operadores están contenidos
en el archivo de cabecera complex.h . En las descripciones de las funciones, la
forma (a, b) se utiliza para representar un número complejo. Esto es equivalente a
la expresión matemática a + bi .



Descripción de las funciones
Las descripciones de las funciones de la biblioteca complejo se organizan de la
siguiente manera:

constructores y operadores de conversión
       incluir constructores y operadores de conversión de variables complejas.
cartesianas y polares funciones coordenadas
       incluyen descripciones de abs () , arg () , conj () , imag () , norma () , polar
       () y real () .
exponencial, logarítmica de potencia, y funciones de raíz cuadrada
       incluyen descripciones de exp () , log () , pow () y sqrt () .
funciones trigonométricas e hiperbólicas
       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 inserción y la extracción de los
       operadores << y >> .
Cada conjunto de descripciones de funciones incluye la siguiente información:

       un resumen de las funciones
       una breve descripción de la finalidad de las funciones
       detalles sobre el diagnóstico, si procede
       cualquier información preventiva adecuada.
En las siguientes descripciones, información de diagnóstico específico se da para
una función o grupo de funciones, en su caso. Sin embargo, la información de
diagnóstico más general no está incluido en este libro.Además, algunas de las
funciones de biblioteca complejos llamar SAS / C funciones de la biblioteca de
matemáticas. Si usted encuentra que usted necesita más información sobre el
manejo de errores para funciones matemáticas, o si necesita más información
acerca de las funciones llamadas por las funciones de biblioteca complejas,
consulte la Referencia SAS / C Library . Si desea utilizar los manejadores de
señales a desbordamientos de trampa, consulte la SAS / C Library Reference,
Volume                                                                 1 también.


complejo ()
Los constructores y operadores de conversión
SINOPSIS
             # Include<complex.h>
             clase compleja
             {
             pública:
             complejo ();
             complejo (doubleimag real, doble = 0,0);
             };
DESCRIPCIÓN

      Los siguientes constructores se definen para complejo de clase .
      complejo ()
      permite declarar variables complejas sin inicializar ellos. Alcance Archivo-
      variables complejas declaradas sin tener un inicializador de un valor inicial
      de (0,0) , otros sin inicializar variables complejas tienen un valor inicial
      definido.
      complejo (doubleimag real, doble = 0,0)
      permite la inicialización explícita de variables complejas. Por ejemplo, las
      dos sentencias siguientes son válidos:
      complejo c1 (1,0, 2,0);
      / / La parte imaginaria es 0,0.
      complejo c2 (1,0);
      Este constructor también permite la conversión implícita de tipos aritméticos
      con valores complejos. Por ejemplo, las dos sentencias siguientes son
      válidos:
      complejo c3 = 3,4; / / c3 es (3,4, 0,0).
      c3 = 10 / / c3 es (10,0, 0,0).
      El uso de este constructor, también 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
            {
            pública:
            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);
            };
DESCRIPCIÓN

     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 conjugación 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 fórmula r * e i * t .
     d = real (a)
     devuelve la parte real de una .
exp, log, pow, sqrt
Exponencial, Logarítmica Potencia, raíz cuadrada y funciones
SINOPSIS
           # Include<complex.h>
           clase compleja
           {
           pública:
           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);
           };
DESCRIPCIÓN

     Las siguientes funciones están 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 raíz cuadrada de una que está contenido en el primer cuadrante
     o cuarto del plano complejo.
DIAGNÓSTICO

        La exp () y log () funciones tienen consideraciones especiales de
        diagnóstico.
exp () función
        Si el desbordamiento se produce por la parte real de un ser pequeño 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 número
      complejo un depende del cos (imag (a)) y la parte imaginaria depende de
      la sen   (imag   (a)) . Corresponde  enorme      a   la    más   grande
      representabledoble .

      Valor de retorno para exp (a)


      cos (imag (a)) sin (imag (a)) exp (a) regresa


      positivo       positivo         (ENORME, ENORME)


      positivo       negativo o 0     (ENORME, ENORME-)


      negativo o 0   positivo         (-ENORME, ENORME)


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




      Como se puede ver en esta tabla, la traducción 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 válidas para el seno y la parte imaginaria
      de una . En      todos    los   casos      de     desbordamiento, errno se
      establece ERANGE .

log () función
        Cuando una es (0,0), log (a) regresa (-enorme, 0) y errno se establece
        en EDOM .
sin, cos, sinh, cosh
Funciones trigonométricas e hiperbólicas
SINOPSIS
              # Include<complex.h>
              clase compleja
              {
              pública:
              amigo complejo sin (complejo A);
              amigo complejos cos (complejo A);
              amigo complejo sinh (complejo A);
              amigo complejo cosh (complejo A);
              };
DESCRIPCIÓN
     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 hiperbólico de un .
     z = cosh (a)
     Devuelve el coseno hiperbólico de un .
DIAGNÓSTICO
     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 más grande representable doble .

      Valor de retorno para cos (a)


      cos (real (a)) sin (real (a)) cos (a) regresa


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


      positivo o 0   negativo      (ENORME, ENORME)


      negativo       positivo o 0 (-ENORME, ENORME-)


      negativo       negativo      (-ENORME, ENORME)
Valores devueltos por el pecado (a)


sin (real (a)) cos (real (a)) sin (a) regresa


positivo o 0 positivo o 0      (ENORME, ENORME)


positivo o 0 negativo          (ENORME, ENORME-)


negativo       positivo o 0    (-ENORME, ENORME)


negativo       negativo        (-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    (ENORME, ENORME)


positivo o 0    negativo        (ENORME, ENORME-)


negativo        positivo o 0    (-ENORME, ENORME)


negativo        negativo        (-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
           {
           pública:
           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);
           amigoint operador == (un complejo,
           complejo b);
           operadorint amigo! = (un complejo,
           complejo b);
           void operador + = (complejo A);
           operadorvoid - = (complejo a);
           operadorvoid * = (complejo A);
           void operador / = (complejo A);
           void operador / = (double d);
           };
DESCRIPCIÓN

      Los operadores aritméticos habituales, operadores de comparación y
      operadores de asignación están sobrecargados para números
      complejos. Los habituales relaciones de precedencia entre estos
      operadores están en vigor. En las siguientes descripciones, un y b son de
      tipo complejo y d es de tipo doble .

Los operadores aritméticos
      Los siguientes son los operadores aritméticos.
      a+b
      es la suma aritmética de una y b .
      -Un
      es la negación aritmética de una .
      a-b
      es la diferencia aritmética de una y b .
      un b *
      es el producto aritmético de una y b .
      a/bya/d
      son el cociente aritmética de una y b o un y d .

Los operadores de comparación
      Los siguientes son los operadores de comparación.
      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 asignación
      Los siguientes son los operadores de asignación.
      a+b=
      asigna a una suma aritmética de la misma y b .
      a-b=
      asigna a una diferencia aritmética de la misma y b .
      a*=b
      asigna a un producto de la aritmética de la misma y b .
      a/b=ya/d=
      asignar a un cociente de las medias aritméticas de sí mismos y b o d .

PRECAUCIÓN
    Los operadores de asignación no producen un valor que se puede utilizar
    en una expresión. Por ejemplo, la construcción siguiente no es válida:
    complejo de a, b, c;
    a = (b + c =);
operador<< y >> operador
Complejas funciones I / O
SINOPSIS
             # Include<complex.h>
             clase compleja
             {
             pública:
             ostream&operator<< (ostream& os,
             complejo c);
             istream operador &>> (istream y es,
             complejo y c);
             };

DEFINICIÓN

     Las funciones siguientes se proporciona la inserción y la capacidad de
     extracción de los números complejos.
     ostream&operator<<                     (ostream&                    os,
     complejo c)
     escribe un número 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 número
     complejo, respectivamente. Tanto la parte real y la parte imag- tienen el
     formato de dobles. Para obtener más información, consulte la descripción
     ción 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. Verenumeraciónformat_state .

     istream           operador      &>>         (istream        y       es
     complejo y c)
     lee un número complejo con formato de es en c . El istream debe contener
     el número complejo para ser leído en uno de estos formatos:
     ( parte real , imag-parte )
     ( parte real )

     donde parte real y parte imag- son las partes real e imaginaria del número
     complejo, respectivamente. Tanto la parte real y la parte imag- deben tener
     el formato de doble s. Para obtener más información, consulte la
     descripción del operador >> (istream&, doble &) en istream clase . El
     formato de parte real y parte imag- está controlado por las banderas
     asociados con la corriente. Verenumeraciónformat_state .
Recuerde lo siguiente al realizar el complejo I / O:

           debe utilizar los paréntesis 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 número real tal como 5e-2 o (502),
    el operador >> lo interpreta como un número complejo con una parte
    imaginaria de 0.

DIAGNÓSTICO

    Si el istream no contiene un número 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 código 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 continuación, el siguiente código lee el valor (1,2, 3,4) y el valor
    de c pasa a ser el (1.2,3.4) .
    complejo c;
    cin>> c;

Más contenido relacionado

La actualidad más candente (19)

Recursividad
RecursividadRecursividad
Recursividad
 
Apunte funciones uba xxi
Apunte funciones uba xxiApunte funciones uba xxi
Apunte funciones uba xxi
 
Algebra de boole y simplificacion logica
Algebra de boole y simplificacion logicaAlgebra de boole y simplificacion logica
Algebra de boole y simplificacion logica
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boole
 
14 tiposdemetodos
14 tiposdemetodos14 tiposdemetodos
14 tiposdemetodos
 
Algebra de bool
Algebra de boolAlgebra de bool
Algebra de bool
 
Algebra boole
Algebra boole Algebra boole
Algebra boole
 
33 col2 301405
33 col2 30140533 col2 301405
33 col2 301405
 
Logica boleana
Logica boleanaLogica boleana
Logica boleana
 
Apuntesmatlab
ApuntesmatlabApuntesmatlab
Apuntesmatlab
 
Breves apuntes matlab5
Breves apuntes matlab5Breves apuntes matlab5
Breves apuntes matlab5
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boole
 
Sistema binario i algebra de boole
Sistema binario i algebra de booleSistema binario i algebra de boole
Sistema binario i algebra de boole
 
Conversion
ConversionConversion
Conversion
 
Por qué java no soporta la sobre carga de operadores
Por qué java no soporta la sobre carga de operadoresPor qué java no soporta la sobre carga de operadores
Por qué java no soporta la sobre carga de operadores
 
Analisis grafico intro
Analisis  grafico introAnalisis  grafico intro
Analisis grafico intro
 
Anillos
AnillosAnillos
Anillos
 
áLgebra booleana
áLgebra booleanaáLgebra booleana
áLgebra booleana
 
Algebra booleana.
Algebra booleana.Algebra booleana.
Algebra booleana.
 

Similar a C ++ cuarto trabajo . -...

Calculo integral
Calculo integralCalculo integral
Calculo integral
aameeriikaa
 
Funciones para el jueves
Funciones para el juevesFunciones para el jueves
Funciones para el jueves
Miguel Vasquez
 
Cap 4 funciones y gráficas módulo de matemáticas y física snna
Cap 4 funciones y gráficas módulo de matemáticas y física snnaCap 4 funciones y gráficas módulo de matemáticas y física snna
Cap 4 funciones y gráficas módulo de matemáticas y física snna
Leticia Lara Freire
 
Cap 4 funciones y gráficas módulo de matemáticas y física snna
Cap 4 funciones y gráficas módulo de matemáticas y física snnaCap 4 funciones y gráficas módulo de matemáticas y física snna
Cap 4 funciones y gráficas módulo de matemáticas y física snna
Leticia Lara Freire
 
Delavalle betina lujan act 2 u2
Delavalle betina lujan act 2 u2Delavalle betina lujan act 2 u2
Delavalle betina lujan act 2 u2
dieguitto221996
 
Relaciones y funciones
Relaciones y funcionesRelaciones y funciones
Relaciones y funciones
Jhon Valera
 
Funcionestrascendentesmatematica 160522004625
Funcionestrascendentesmatematica 160522004625Funcionestrascendentesmatematica 160522004625
Funcionestrascendentesmatematica 160522004625
beto7500
 

Similar a C ++ cuarto trabajo . -... (20)

Calculo integral
Calculo integralCalculo integral
Calculo integral
 
Funciones
FuncionesFunciones
Funciones
 
Unidad i calculo 2
Unidad i calculo 2Unidad i calculo 2
Unidad i calculo 2
 
Funciones para el jueves
Funciones para el juevesFunciones para el jueves
Funciones para el jueves
 
Funciones parte i
Funciones parte iFunciones parte i
Funciones parte i
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boole
 
Cap 4 funciones y gráficas módulo de matemáticas y física snna
Cap 4 funciones y gráficas módulo de matemáticas y física snnaCap 4 funciones y gráficas módulo de matemáticas y física snna
Cap 4 funciones y gráficas módulo de matemáticas y física snna
 
Cap 4 funciones y gráficas módulo de matemáticas y física snna
Cap 4 funciones y gráficas módulo de matemáticas y física snnaCap 4 funciones y gráficas módulo de matemáticas y física snna
Cap 4 funciones y gráficas módulo de matemáticas y física snna
 
Delavalle betina lujan act 2 u2
Delavalle betina lujan act 2 u2Delavalle betina lujan act 2 u2
Delavalle betina lujan act 2 u2
 
Relaciones y funciones
Relaciones y funcionesRelaciones y funciones
Relaciones y funciones
 
Eje 3 marco teorico def
Eje  3 marco teorico defEje  3 marco teorico def
Eje 3 marco teorico def
 
FUNCIONES REALES
FUNCIONES REALESFUNCIONES REALES
FUNCIONES REALES
 
Trabajo de calculo 2
Trabajo de calculo 2Trabajo de calculo 2
Trabajo de calculo 2
 
Unidad iii relacion-funcion1
Unidad iii  relacion-funcion1Unidad iii  relacion-funcion1
Unidad iii relacion-funcion1
 
Funciones trascendentes
Funciones trascendentes Funciones trascendentes
Funciones trascendentes
 
Espacios L2
Espacios L2Espacios L2
Espacios L2
 
2.3 calculo
2.3 calculo2.3 calculo
2.3 calculo
 
Funcionestrascendentesmatematica 160522004625
Funcionestrascendentesmatematica 160522004625Funcionestrascendentesmatematica 160522004625
Funcionestrascendentesmatematica 160522004625
 
mi trabajo Algebra de boole
mi trabajo Algebra de boolemi trabajo Algebra de boole
mi trabajo Algebra de boole
 
Tema numeros complejos
Tema numeros complejosTema numeros complejos
Tema numeros complejos
 

Más de Victor García (9)

145158049 guia-sobre-boleta-de-renumeracion-de-construccion-civil-uso-del-com...
145158049 guia-sobre-boleta-de-renumeracion-de-construccion-civil-uso-del-com...145158049 guia-sobre-boleta-de-renumeracion-de-construccion-civil-uso-del-com...
145158049 guia-sobre-boleta-de-renumeracion-de-construccion-civil-uso-del-com...
 
Trabajo lp ultimo
Trabajo lp ultimoTrabajo lp ultimo
Trabajo lp ultimo
 
Blog ...
Blog ...Blog ...
Blog ...
 
Blog ...
Blog ...Blog ...
Blog ...
 
Lenguaje de programacion xddd
Lenguaje de programacion xdddLenguaje de programacion xddd
Lenguaje de programacion xddd
 
Lenguaje de programacion xddd
Lenguaje de programacion xdddLenguaje de programacion xddd
Lenguaje de programacion xddd
 
Lenguaje de programacion xddd
Lenguaje de programacion xdddLenguaje de programacion xddd
Lenguaje de programacion xddd
 
Lenguaje de programacion xddd
Lenguaje de programacion xdddLenguaje de programacion xddd
Lenguaje de programacion xddd
 
Lenguaje de programacion xddd
Lenguaje de programacion xdddLenguaje de programacion xddd
Lenguaje de programacion xddd
 

C ++ cuarto trabajo . -...

  • 1. C + + Complex Las funciones y los operadores correspondientes a los números complejos se llevan a cabo por medio de complejo de clase y se encuentran en el directorio C + + biblioteca matemática de números complejos. La definición de clase compleja sobrecarga el nivel de entrada, de salida, operadores aritméticos, de comparación y asignación de C + +, así como los nombres estándar de la exponencial, el poder logaritmo, raíz cuadrada y funciones trigonométricas (seno, coseno, seno hiperbólico, y coseno hiperbólico). Funciones para convertir entre coordenadas cartesianas y polares también se proporcionan. En esta sección se describen las funciones, clases, y los operadores que se encuentran en complejos de clase . Las declaraciones de estas funciones y los operadores están contenidos en el archivo de cabecera complex.h . En las descripciones de las funciones, la forma (a, b) se utiliza para representar un número complejo. Esto es equivalente a la expresión matemática a + bi . Descripción de las funciones Las descripciones de las funciones de la biblioteca complejo se organizan de la siguiente manera: constructores y operadores de conversión incluir constructores y operadores de conversión de variables complejas. cartesianas y polares funciones coordenadas incluyen descripciones de abs () , arg () , conj () , imag () , norma () , polar () y real () . exponencial, logarítmica de potencia, y funciones de raíz cuadrada incluyen descripciones de exp () , log () , pow () y sqrt () . funciones trigonométricas e hiperbólicas 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 inserción y la extracción de los operadores << y >> . Cada conjunto de descripciones de funciones incluye la siguiente información: un resumen de las funciones una breve descripción de la finalidad de las funciones detalles sobre el diagnóstico, si procede cualquier información preventiva adecuada.
  • 2. En las siguientes descripciones, información de diagnóstico específico se da para una función o grupo de funciones, en su caso. Sin embargo, la información de diagnóstico más general no está incluido en este libro.Además, algunas de las funciones de biblioteca complejos llamar SAS / C funciones de la biblioteca de matemáticas. Si usted encuentra que usted necesita más información sobre el manejo de errores para funciones matemáticas, o si necesita más información acerca de las funciones llamadas por las funciones de biblioteca complejas, consulte la Referencia SAS / C Library . Si desea utilizar los manejadores de señales a desbordamientos de trampa, consulte la SAS / C Library Reference, Volume 1 también. complejo () Los constructores y operadores de conversión SINOPSIS # Include<complex.h> clase compleja { pública: complejo (); complejo (doubleimag real, doble = 0,0); }; DESCRIPCIÓN Los siguientes constructores se definen para complejo de clase . complejo () permite declarar variables complejas sin inicializar ellos. Alcance Archivo- variables complejas declaradas sin tener un inicializador de un valor inicial de (0,0) , otros sin inicializar variables complejas tienen un valor inicial definido. complejo (doubleimag real, doble = 0,0) permite la inicialización explícita de variables complejas. Por ejemplo, las dos sentencias siguientes son válidos: complejo c1 (1,0, 2,0); / / La parte imaginaria es 0,0. complejo c2 (1,0); Este constructor también permite la conversión implícita de tipos aritméticos con valores complejos. Por ejemplo, las dos sentencias siguientes son válidos: complejo c3 = 3,4; / / c3 es (3,4, 0,0). c3 = 10 / / c3 es (10,0, 0,0). El uso de este constructor, también puede crear valores complejos dentro de expresiones. Aquí está un ejemplo: / / Utiliza complejo ::operator + c2 = c3 + complejo (1,2, 3,5);
  • 3. abs, arg, conj, imag, norma, polar, real Funciones cartesianas y polares SINOPSIS # Include<complex.h> clase compleja { pública: 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); }; DESCRIPCIÓN 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 conjugación 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 fórmula r * e i * t . d = real (a) devuelve la parte real de una .
  • 4. exp, log, pow, sqrt Exponencial, Logarítmica Potencia, raíz cuadrada y funciones SINOPSIS # Include<complex.h> clase compleja { pública: 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); }; DESCRIPCIÓN Las siguientes funciones están 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 raíz cuadrada de una que está contenido en el primer cuadrante o cuarto del plano complejo.
  • 5. DIAGNÓSTICO La exp () y log () funciones tienen consideraciones especiales de diagnóstico. exp () función Si el desbordamiento se produce por la parte real de un ser pequeño 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 número complejo un depende del cos (imag (a)) y la parte imaginaria depende de la sen (imag (a)) . Corresponde enorme a la más grande representabledoble . Valor de retorno para exp (a) cos (imag (a)) sin (imag (a)) exp (a) regresa positivo positivo (ENORME, ENORME) positivo negativo o 0 (ENORME, ENORME-) negativo o 0 positivo (-ENORME, ENORME) negativo o 0 negativo o 0 (-ENORME, ENORME-) Como se puede ver en esta tabla, la traducción 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 válidas para el seno y la parte imaginaria de una . En todos los casos de desbordamiento, errno se establece ERANGE . log () función Cuando una es (0,0), log (a) regresa (-enorme, 0) y errno se establece en EDOM .
  • 6. sin, cos, sinh, cosh Funciones trigonométricas e hiperbólicas SINOPSIS # Include<complex.h> clase compleja { pública: amigo complejo sin (complejo A); amigo complejos cos (complejo A); amigo complejo sinh (complejo A); amigo complejo cosh (complejo A); }; DESCRIPCIÓN 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 hiperbólico de un . z = cosh (a) Devuelve el coseno hiperbólico de un . DIAGNÓSTICO 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 más grande representable doble . Valor de retorno para cos (a) cos (real (a)) sin (real (a)) cos (a) regresa positivo o 0 positivo o 0 (ENORME, ENORME-) positivo o 0 negativo (ENORME, ENORME) negativo positivo o 0 (-ENORME, ENORME-) negativo negativo (-ENORME, ENORME)
  • 7. Valores devueltos por el pecado (a) sin (real (a)) cos (real (a)) sin (a) regresa positivo o 0 positivo o 0 (ENORME, ENORME) positivo o 0 negativo (ENORME, ENORME-) negativo positivo o 0 (-ENORME, ENORME) negativo negativo (-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 (ENORME, ENORME) positivo o 0 negativo (ENORME, ENORME-) negativo positivo o 0 (-ENORME, ENORME) negativo negativo (-ENORME, ENORME-) En todos los casos de desbordamiento, errno se establece ERANGE .
  • 8. Operadores complejos Operadores para el C + + Library Complex SINOPSIS # Include<complex.h> clase compleja { pública: 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); amigoint operador == (un complejo, complejo b); operadorint amigo! = (un complejo, complejo b); void operador + = (complejo A); operadorvoid - = (complejo a); operadorvoid * = (complejo A); void operador / = (complejo A); void operador / = (double d); };
  • 9. DESCRIPCIÓN Los operadores aritméticos habituales, operadores de comparación y operadores de asignación están sobrecargados para números complejos. Los habituales relaciones de precedencia entre estos operadores están en vigor. En las siguientes descripciones, un y b son de tipo complejo y d es de tipo doble . Los operadores aritméticos Los siguientes son los operadores aritméticos. a+b es la suma aritmética de una y b . -Un es la negación aritmética de una . a-b es la diferencia aritmética de una y b . un b * es el producto aritmético de una y b . a/bya/d son el cociente aritmética de una y b o un y d . Los operadores de comparación Los siguientes son los operadores de comparación. 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 asignación Los siguientes son los operadores de asignación. a+b= asigna a una suma aritmética de la misma y b . a-b= asigna a una diferencia aritmética de la misma y b . a*=b asigna a un producto de la aritmética de la misma y b . a/b=ya/d= asignar a un cociente de las medias aritméticas de sí mismos y b o d . PRECAUCIÓN Los operadores de asignación no producen un valor que se puede utilizar en una expresión. Por ejemplo, la construcción siguiente no es válida: complejo de a, b, c; a = (b + c =);
  • 10. operador<< y >> operador Complejas funciones I / O SINOPSIS # Include<complex.h> clase compleja { pública: ostream&operator<< (ostream& os, complejo c); istream operador &>> (istream y es, complejo y c); }; DEFINICIÓN Las funciones siguientes se proporciona la inserción y la capacidad de extracción de los números complejos. ostream&operator<< (ostream& os, complejo c) escribe un número 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 número complejo, respectivamente. Tanto la parte real y la parte imag- tienen el formato de dobles. Para obtener más información, consulte la descripción ción 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. Verenumeraciónformat_state . istream operador &>> (istream y es complejo y c) lee un número complejo con formato de es en c . El istream debe contener el número complejo para ser leído en uno de estos formatos: ( parte real , imag-parte ) ( parte real ) donde parte real y parte imag- son las partes real e imaginaria del número complejo, respectivamente. Tanto la parte real y la parte imag- deben tener el formato de doble s. Para obtener más información, consulte la descripción del operador >> (istream&, doble &) en istream clase . El formato de parte real y parte imag- está controlado por las banderas asociados con la corriente. Verenumeraciónformat_state .
  • 11. Recuerde lo siguiente al realizar el complejo I / O: debe utilizar los paréntesis 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 número real tal como 5e-2 o (502), el operador >> lo interpreta como un número complejo con una parte imaginaria de 0. DIAGNÓSTICO Si el istream no contiene un número 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 código 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 continuación, el siguiente código lee el valor (1,2, 3,4) y el valor de c pasa a ser el (1.2,3.4) . complejo c; cin>> c;