viernes, 22 de julio de 2016

Tareas Comunes con Números en C# - Parte 4/5 | Estructura Complex

Índice

1. Introducción
2. Palabras Clave
3. Estructura Complex
3.1 Generalidades
3.2 Sintaxis de declaración
3.3 Operaciones
4. Conclusiones
5. Literatura & Enlaces

1. Introducción

A parte de la estructura BigInteger, el programador C# cuenta con otra estructura también muy interesante: Complex. Esta estructura brinda los mecanismos para la operación de números complejos. Este penúltimo artículo describe cómo representar números de este conjunto.

2. Palabras Clave

  • Complex
  • Estructura
  • Física
  • Matemáticas
  • Número complejo

3. Estructura Complex

3.1 Generalidades

Al igual que BigInteger [Tareas Comunes con Números en C#/5 | Estructura BigInteger], la estructura Complex reside en el namespace Complex (assembly System.Numerics.dll), y fue introducida en la versión de Microsoft .NET Framework 4.0.

Complex proporciona elementos de programa para la representación de números complejos. Este conjunto de números se considera una extensión de los números reales y posee las estructuras esenciales para representar un cuerpo algebraicamente cerrado ("Número complejo", 2016).

Complex internamente representa un número complejo, el cual posee esta estructura: 
Estructura número complejo
Donde a y b miembros que representan la parte real e imaginaria, respectivamente, y su tipo de dato es double.

3.2 Sintaxis de declaración

Declarar una instancia de este tipo es sencillo: 

// Declaración de variables de tipo Complex:
var c1 = new Complex(5.0, 7.0);
var c2 = new Complex(3.1, 11.2);

Con WriteLine obtenemos su representación literal en salida estándar: 

Console.WriteLine(c1);
Console.WriteLine(c2);

(5, 7)
(3.1, 11.2)

3.3 Operaciones

Sobre un objeto de Complex, el programador puede invocar funciones -e.g., propiedades, métodos- para realizar otras operaciones útiles; como: 

Console.WriteLine(c1.Real);
Console.WriteLine(c1.Imaginary);
Console.WriteLine(c1.Phase);
Console.WriteLine(c1.Magnitude);

Salida: 

5
7
0.950546840812075
8.60232526704263

O partir crear un número complejo a partir de coordenadas polares: 

Complex c3 = Complex.FromPolarCoordinates(7.3, 7);

Console.WriteLine(c3);

Resultado: 

(5.50348645670612, 4.79600217064716)

No hay que dejar atrás las operaciones aritméticas básicas: 

Console.WriteLine(c1 + c3);
Console.WriteLine(c1 - c2);
Console.WriteLine(c1 * c2);
Console.WriteLine(c1 / c2);

Al ejecutar estas sentencias en LINQPad se obtiene: 

(10.5034864567061, 11.7960021706472)
(1.9, -4.2)
(-62.9, 77.7)
(0.695298037763791, -0.253980007404665)

Por otro lado, existen métodos static en Complex para efectuar operaciones más avanzadas; entre ellas (Albahari, 2012)
  • Trigonométricas, 
  • Logaritmos, 
  • Exponenciaciones, 
  • Conjugada

4. Conclusiones

Se estudió la estructura Complex. Estructura útil para la manipulación de valores del conjunto de los números complejos. Este tipo de conocimiento técnico puede resultar al programador de enorme utilidad para construir aplicaciones para contextos de física, matemática, o otras áreas de las ciencias básicas.

El último artículo de esta serie explicará cómo generar números pseudoaleatorios por medio de la clase Random.

5. Literatura & Enlaces

Albahari, J., Albahari, B. (2012). C# 5.0 in a Nutshell. United States: O'Reilly Media.
Tareas Comunes con Números en C#/5 | Estructura BigInteger (2016, julio 22). Recuperado desde: https://ortizol.blogspot.com/2016/07/tareas-comunes-con-numeros-en-csharp-parte-3-5-estructura-biginteger.html
Complex Structure (System.Numerics) (2016, julio 22). Recuperado desde: https://msdn.microsoft.com/en-us/library/system.numerics.complex(v=vs.110).aspx
Número complejo (2016, julio 22). Recuperado desde: https://es.wikipedia.org/wiki/N%C3%BAmero_complejo


O

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.