본문 바로가기
C#

[C#] Complex

by DANEW 2023. 8. 19.

Complex

 

Complex 구조체 (System.Numerics)

복소수를 나타냅니다.

learn.microsoft.com

- .NET 4.0 도입

- 복소수를 표현

- 실수부(double), 허수부(double)로 구성

 

생성

- 실수부, 허수부 지정 생성자

- 표준 수치 형식으로부터의 암묵적 변환

- 위상과 크기 지정(FromPolarCoordinates)

 

속성

- Real: 실수부

- Imaginary; 허수부

- Phase: 위상

- Magnitude: 크기

 

연산자

- 표준적인 산술 연산자들을 복소수에 맞게 중복적재 함

 

복소수 연산을 위한 정적 메서드

- Math에서 지원하는 메서드 중 일부

Reciprocal (역수)

- Conjugate (켤레 복소수)

반응형
using System;
using System.Numerics;
 
namespace Practice
{
    class Program
    {
        static void Main(string[] args)
        {
            Complex[] cp = new Complex[7];
                       
            cp[0] = new Complex(2, 3.5);                    // 실수부, 허수부 생성자
            cp[1] = 12.34;                                  // 표준 수치 형식으로부터
            cp[2] = Complex.FromPolarCoordinates(1.3, 5);   // 위상, 크기를 통한 생성
            cp[3] = cp[0] + cp[1];                          // 산술 연산자 +
            cp[4] = cp[0] * cp[1];                          // 산술 연산자 *
            cp[5] = Complex.Conjugate(cp[0]);               // 켤레복소수
            cp[6] = Complex.Reciprocal(cp[0]);              // 역수
 
            Console.Write("ToString(\"F2\")".PadLeft(15));
            Console.Write("Real".PadLeft(10));
            Console.Write("Imaginary".PadLeft(10));
            Console.Write("Phase".PadLeft(10));
            Console.Write("Magnitude".PadLeft(10));
            Console.WriteLine();
 
            foreach (var item in cp)
            {
                Console.Write(item.ToString("F2").PadLeft(15));
                Console.Write(item.Real.ToString("F2").PadLeft(10));
                Console.Write(item.Imaginary.ToString("F2").PadLeft(10));
                Console.Write(item.Phase.ToString("F2").PadLeft(10));
                Console.Write(item.Magnitude.ToString("F2").PadLeft(10));
                Console.WriteLine();
            }
        }        
    }
}

 

반응형

'C#' 카테고리의 다른 글

[C#] Math  (1) 2023.08.23
[C#] Tuple  (1) 2023.08.22
[C#] 열거형과 System.Enum  (1) 2023.08.21
[C#] Random & RandomNumberGenerator  (1) 2023.08.20
[C#] BigInteger  (1) 2023.08.18
[C#] BitConverter  (1) 2023.08.17
[C#] XmlConvert  (1) 2023.08.16
[C#] Convert  (2) 2023.08.15