Índice
1. Introducción2. 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).
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
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.