Complex Struktura

Definicja

Reprezentuje liczbę zespoloną.Represents a complex number.

public value class Complex : IEquatable<System::Numerics::Complex>, IFormattable
[System.Serializable]
public struct Complex : IEquatable<System.Numerics.Complex>, IFormattable
type Complex = struct
    interface IFormattable
Public Structure Complex
Implements IEquatable(Of Complex), IFormattable
Dziedziczenie
Complex
Atrybuty
Implementuje

Uwagi

Liczba zespolona to liczba, która składa się z części liczby rzeczywistej i części urojonej.A complex number is a number that comprises a real number part and an imaginary number part. Liczba złożona z jest zwykle zapisywana w postaci z = x + yi, gdzie x i y są liczbami rzeczywistymi, a jestem jednostką urojoną, która ma właściwość i2 =-1.A complex number z is usually written in the form z = x + yi, where x and y are real numbers, and i is the imaginary unit that has the property i2 = -1. Rzeczywista część liczby zespolonej jest reprezentowana przez x, a część urojona liczby zespolonej jest reprezentowana przez y.The real part of the complex number is represented by x, and the imaginary part of the complex number is represented by y.

Complex Typ używa układu współrzędnych kartezjańskiego (rzeczywistą, urojoną) podczas tworzenia wystąpienia i manipulowania liczbami złożonymi.The Complex type uses the Cartesian coordinate system (real, imaginary) when instantiating and manipulating complex numbers. Liczba zespolona może być reprezentowana jako punkt w dwuwymiarowym układzie współrzędnych, który jest znany jako Płaszczyzna złożona.A complex number can be represented as a point in a two-dimensional coordinate system, which is known as the complex plane. Rzeczywista część liczby zespolonej jest umieszczana na osi x (osi poziomej), a część urojona jest umieszczana na osi y (oś pionowa).The real part of the complex number is positioned on the x-axis (the horizontal axis), and the imaginary part is positioned on the y-axis (the vertical axis).

Każdy punkt w płaszczyźnie złożonej może być również wyrażony na podstawie jego wartości bezwzględnej przy użyciu układu współrzędnych biegunowych.Any point in the complex plane can also be expressed based on its absolute value, by using the polar coordinate system. We współrzędnych polarnych punkt jest scharakteryzowany przez dwie liczby:In polar coordinates, a point is characterized by two numbers:

  • Jego wielkość, czyli odległość punktu od początku (to jest, 0, 0, lub punkt, w którym oś x i oś y przecinają).Its magnitude, which is the distance of the point from the origin (that is, 0,0, or the point at which the x-axis and the y-axis intersect).

  • Jej faza, która jest kątem między osią rzeczywistą i linią pochodzącą od początku do punktu.Its phase, which is the angle between the real axis and the line drawn from the origin to the point.

Utworzenie wystąpienia liczby zespolonejInstantiating a Complex Number

Można przypisać wartość do liczby zespolonej w jeden z następujących sposobów:You can assign a value to a complex number in one of the following ways:

  • Przekazując dwie Double wartości do jego konstruktora.By passing two Double values to its constructor. Pierwsza wartość reprezentuje rzeczywistą część liczby zespolonej, a druga wartość reprezentuje jej część urojoną.The first value represents the real part of the complex number, and the second value represents its imaginary part. Te wartości reprezentują pozycję liczby zespolonej w dwuwymiarowym układzie współrzędnych kartezjańskiego.These values represent the position of the complex number in the two-dimensional Cartesian coordinate system.

  • Wywołując metodę static (Shared w Visual Basic) Complex.FromPolarCoordinates , aby utworzyć liczbę zespoloną na podstawie współrzędnych biegunowych.By calling the static (Shared in Visual Basic) Complex.FromPolarCoordinates method to create a complex number from its polar coordinates.

  • BytePrzypisanie, ,,UInt64 ,,Complex ,,,, lub doobiektu.Double UInt16 Int32 UInt32 Int16 SByte Int64 SingleBy assigning a Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Single, or Double value to a Complex object. Wartość jest rzeczywistą częścią liczby zespolonej, a jej część urojona jest równa 0.The value becomes the real part of the complex number, and its imaginary part equals 0.

  • Przez rzutowanie ( C#in) lub konwertowanie (w Visual Basic) Decimal a BigInteger Complex lub wartości do obiektu.By casting (in C#) or converting (in Visual Basic) a Decimal or BigInteger value to a Complex object. Wartość jest rzeczywistą częścią liczby zespolonej, a jej część urojona jest równa 0.The value becomes the real part of the complex number, and its imaginary part equals 0.

  • Przypisanie liczby zespolonej zwracanej przez metodę lub operator do Complex obiektu.By assigning the complex number that is returned by a method or operator to a Complex object. Na przykład Complex.Add jest metodą statyczną zwracającą liczbę zespoloną, która jest sumą dwóch liczb zespolonych, Complex.Addition a operator dodaje dwie liczby zespolone i zwraca wynik.For example, Complex.Add is a static method that returns a complex number that is the sum of two complex numbers, and the Complex.Addition operator adds two complex numbers and returns the result.

Poniższy przykład ilustruje każdy z tych pięciu sposobów przypisywania wartości do liczby zespolonej.The following example demonstrates each of these five ways of assigning a value to a complex number.

using System;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      // Create a complex number by calling its class constructor.
      Complex c1 = new Complex(12, 6);
      Console.WriteLine(c1);
      
      // Assign a Double to a complex number.
      Complex c2 = 3.14;
      Console.WriteLine(c2);
      
      // Cast a Decimal to a complex number.
      Complex c3 = (Complex) 12.3m;
      Console.WriteLine(c3);
      
      // Assign the return value of a method to a Complex variable.
      Complex c4 = Complex.Pow(Complex.One, -1);
      Console.WriteLine(c4);
      
      // Assign the value returned by an operator to a Complex variable.
      Complex c5 = Complex.One + Complex.One;
      Console.WriteLine(c5);

      // Instantiate a complex number from its polar coordinates.
      Complex c6 = Complex.FromPolarCoordinates(10, .524);
      Console.WriteLine(c6);
   }
}
// The example displays the following output:
//       (12, 6)
//       (3.14, 0)
//       (12.3, 0)
//       (1, 0)
//       (2, 0)
//       (8.65824721882145, 5.00347430269914)
Imports System.Numerics

Module Example
   Public Sub Main()
      ' Create a complex number by calling its class constructor.
      Dim c1 As New Complex(12, 6)
      Console.WriteLine(c1)
      
      ' Assign a Double to a complex number.
      Dim c2 As Complex = 3.14
      Console.WriteLine(c2)
      
      ' Cast a Decimal to a complex number.
      Dim c3 As Complex = CType(12.3d, Complex)
      Console.WriteLine(c3)
      
      ' Assign the return value of a method to a Complex variable.
      Dim c4 As Complex = Complex.Pow(Complex.One, -1)
      Console.WriteLine(c4)
      
      ' Assign the value returned by an operator to a Complex variable.
      Dim c5 As Complex = Complex.One + Complex.One
      Console.WriteLine(c5)

      ' Instantiate a complex number from its polar coordinates.
      Dim c6 As Complex = Complex.FromPolarCoordinates(10, .524)
      Console.WriteLine(c6)
   End Sub
End Module
' The example displays the following output:
'       (12, 6)
'       (3.14, 0)
'       (12.3000001907349, 0)
'       (1, 0)
'       (2, 0)
'       (8.65824721882145, 5.00347430269914)

Operacje na liczbach zespolonychOperations with Complex Numbers

Complex Struktura w .NET Framework zawiera elementy członkowskie, które zapewniają następujące funkcje:The Complex structure in the .NET Framework includes members that provide the following functionality:

  • Metody porównywania dwóch liczb zespolonych, aby określić, czy są równe.Methods to compare two complex numbers to determine whether they are equal.

  • Operatory wykonywania operacji arytmetycznych na liczbach złożonych.Operators to perform arithmetic operations on complex numbers. ComplexOperatory umożliwiają dodawanie, odejmowanie, mnożenie, dzielenie i jednoargumentowe negację z liczbami złożonymi.Complex operators enable you to perform addition, subtraction, multiplication, division, and unary negation with complex numbers.

  • Metody wykonywania innych operacji numerycznych na liczbach zespolonych.Methods to perform other numerical operations on complex numbers. Oprócz czterech podstawowych operacji arytmetycznych można podnieść liczbę zespoloną do określonej potęgi, znaleźć pierwiastek kwadratowy liczby zespolonej i uzyskać wartość bezwzględną liczby zespolonej.In addition to the four basic arithmetic operations, you can raise a complex number to a specified power, find the square root of a complex number, and get the absolute value of a complex number.

  • Metody wykonywania operacji trygonometrycznych na liczbach zespolonych.Methods to perform trigonometric operations on complex numbers. Na przykład można obliczyć tangens kąta reprezentowanego przez liczbę zespoloną.For example, you can calculate the tangent of an angle represented by a complex number.

Należy zauważyć, że ponieważ Real właściwości Imaginary i są tylko do odczytu, nie można zmodyfikować wartości istniejącego Complex obiektu.Note that, because the Real and Imaginary properties are read-only, you cannot modify the value of an existing Complex object. Wszystkie metody, które wykonują operacje na Complex liczbie, jeśli ich wartość zwracana jest typu Complex, zwracają nowy Complex numer.All methods that perform an operation on a Complex number, if their return value is of type Complex, return a new Complex number.

Precyzja i liczby zespolonePrecision and Complex Numbers

Rzeczywiste i urojone części liczby zespolonej są reprezentowane przez dwie wartości zmiennoprzecinkowe podwójnej precyzji.The real and imaginary parts of a complex number are represented by two double-precision floating-point values. Oznacza to, Complex że wartości, takie jak wartości zmiennoprzecinkowe podwójnej precyzji, mogą utracić dokładność w wyniku operacji numerycznych.This means that Complex values, like double-precision floating-point values, can lose precision as a result of numerical operations. Oznacza to, że ścisłe porównania dla równości Complex dwóch wartości mogą zakończyć się niepowodzeniem, nawet jeśli różnica między tymi dwiema wartościami jest spowodowana utratą precyzji.This means that strict comparisons for equality of two Complex values may fail, even if the difference between the two values is due to a loss of precision. Aby uzyskać więcej informacji, zobacz Double.For more information, see Double.

Na przykład wykonywanie potęgowania na logarytmie liczby powinno zwracać pierwotną liczbę.For example, performing exponentiation on the logarithm of a number should return the original number. Jednak w niektórych przypadkach utrata dokładności wartości zmiennoprzecinkowych może spowodować niewielkie różnice między tymi dwiema wartościami, jak pokazano w poniższym przykładzie.However, in some cases, the loss of precision of floating-point values can cause slight differences between the two values, as the following example illustrates.

Complex value = new Complex(Double.MinValue/2, Double.MinValue/2);
Complex value2 = Complex.Exp(Complex.Log(value));
Console.WriteLine("{0} \n{1} \nEqual: {2}", value, value2, 
                                            value == value2);
// The example displays the following output:
//    (-8.98846567431158E+307, -8.98846567431158E+307)
//    (-8.98846567431161E+307, -8.98846567431161E+307)
//    Equal: False
Dim value As New Complex(Double.MinValue/2, Double.MinValue/2)
Dim value2 As Complex = Complex.Exp(Complex.Log(value))
Console.WriteLine("{0} {3}{1} {3}Equal: {2}", value, value2, 
                                              value = value2,
                                              vbCrLf)
' The example displays the following output:
'    (-8.98846567431158E+307, -8.98846567431158E+307)
'    (-8.98846567431161E+307, -8.98846567431161E+307)
'    Equal: False

Podobnie Poniższy przykład, który oblicza pierwiastek kwadratowy Complex liczby, tworzy nieco inne wyniki na 32-bitowej i ia64 wersjach .NET Framework.Similarly, the following example, which calculates the square root of a Complex number, produces slightly different results on the 32-bit and IA64 versions of the .NET Framework.

Complex minusOne = new Complex(-1, 0);
Console.WriteLine(Complex.Sqrt(minusOne));
// The example displays the following output:
//    (6.12303176911189E-17, 1) on 32-bit systems.
//    (6.12323399573677E-17,1) on IA64 systems.
Dim minusOne As New Complex(-1, 0)
Console.WriteLine(Complex.Sqrt(minusOne))
' The example displays the following output:
'    (6.12303176911189E-17, 1) on 32-bit systems.
'    (6.12323399573677E-17,1) on IA64 systems.

Liczby zespolone, nieskończoność i NaNComplex Numbers, Infinity, and NaN

Rzeczywiste i urojone części liczby zespolonej są reprezentowane przez Double wartości.The real and imaginary parts of a complex number are represented by Double values. Oprócz Double.MinValue zakresu od Double.NaNdo Double.MaxValue, rzeczywista lub urojona część liczby zespolonej Double.PositiveInfinitymoże mieć wartość, Double.NegativeInfinity, lub.In addition to ranging from Double.MinValue to Double.MaxValue, the real or imaginary part of a complex number can have a value of Double.PositiveInfinity, Double.NegativeInfinity, or Double.NaN. Double.PositiveInfinity, Double.NegativeInfinity iDouble.NaN wszystkie są propagowane w każdej operacji arytmetycznej lub trygonometrycznej.Double.PositiveInfinity, Double.NegativeInfinity, and Double.NaN all propagate in any arithmetic or trigonometric operation.

W poniższym przykładzie dzielenie przez Zero tworzy liczbę zespoloną, której elementy rzeczywiste i urojone są oba. Double.NaNIn the following example, division by Zero produces a complex number whose real and imaginary parts are both Double.NaN. W efekcie wykonywanie mnożenia z tą wartością również daje liczbę zespoloną, której części rzeczywiste i urojone są Double.NaN.As a result, performing multiplication with this value also produces a complex number whose real and imaginary parts are Double.NaN. Podobnie wykonywanie operacji mnożenia, która przepełni zakres Double typu, daje liczbę zespoloną, której część rzeczywista jest Double.NaN i której części urojonej jest Double.PositiveInfinity.Similarly, performing a multiplication that overflows the range of the Double type produces a complex number whose real part is Double.NaN and whose imaginary part is Double.PositiveInfinity. Następnie wykonanie dzielenia przy użyciu tej liczby zespolonej zwraca liczbę zespoloną, której Double.NaN część rzeczywista jest i której Double.PositiveInfinityczęści urojonej jest.Subsequently performing division with this complex number returns a complex number whose real part is Double.NaN and whose imaginary part is Double.PositiveInfinity.

using System;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      Complex c1 = new Complex(Double.MaxValue / 2, Double.MaxValue /2);

      Complex c2 = c1 / Complex.Zero;
      Console.WriteLine(c2.ToString());
      c2 = c2 * new Complex(1.5, 1.5);
      Console.WriteLine(c2.ToString());
      Console.WriteLine();
      
      Complex c3 = c1 * new Complex(2.5, 3.5);
      Console.WriteLine(c3.ToString());
      c3 = c3 + new Complex(Double.MinValue / 2, Double.MaxValue / 2); 
      Console.WriteLine(c3);
   }
}
// The example displays the following output:
//       (NaN, NaN)
//       (NaN, NaN)
//       (NaN, Infinity)
//       (NaN, Infinity)
Imports System.Numerics

Module Example
   Public Sub Main()
      Dim c1 As Complex = New Complex(Double.MaxValue / 2, Double.MaxValue /2)

      Dim c2 As Complex = c1 / Complex.Zero
      Console.WriteLine(c2.ToString())
      c2 = c2 * New Complex(1.5, 1.5)
      Console.WriteLine(c2.ToString())
      Console.WriteLine()
      
      Dim c3 As Complex = c1 * New Complex(2.5, 3.5)
      Console.WriteLine(c3.ToString())
      c3 = c3 + New Complex(Double.MinValue / 2, Double.MaxValue / 2) 
      Console.WriteLine(c3)     
   End Sub
End Module
' The example displays the following output:
'       (NaN, NaN)
'       (NaN, NaN)
'
'       (NaN, Infinity)
'       (NaN, Infinity)

Operacje matematyczne ze złożonymi liczbami, które są nieprawidłowe lub które przepełnią zakres Double typu danych, nie generują wyjątku.Mathematical operations with complex numbers that are invalid or that overflow the range of the Double data type do not throw an exception. Zamiast tego zwracają Double.PositiveInfinity, Double.NegativeInfinitylub Double.NaN w następujących warunkach:Instead, they return a Double.PositiveInfinity, Double.NegativeInfinity, or Double.NaN under the following conditions:

Należy zauważyć, że dotyczy to wszelkich obliczeń pośrednich wykonanych przez metodę.Note that this applies to any intermediate calculations performed by a method. Na przykład mnożenia new Complex(9e308, 9e308) and new Complex(2.5, 3.5) używa formuły (AC-BD) + (AD + BC) i.For example, the multiplication of new Complex(9e308, 9e308) and new Complex(2.5, 3.5) uses the formula (ac - bd) + (ad + bc)i. Obliczenie składnika rzeczywistego, który powstał w wyniku mnożenia, oblicza wyrażenie 9e308 * 2,5-9e308 * 3,5.The calculation of the real component that results from the multiplication evaluates the expression 9e308 * 2.5 - 9e308 * 3.5. Double.PositiveInfinityKażde pośrednie mnożenie w tym wyrażeniu zwraca i próba odejmowania Double.PositiveInfinity od Double.PositiveInfinity Return. Double.NaNEach intermediate multiplication in this expression returns Double.PositiveInfinity, and the attempt to subtract Double.PositiveInfinity from Double.PositiveInfinity returns Double.NaN.

Formatowanie liczby zespolonejFormatting a Complex Number

(Domyślnie ciąg reprezentujący liczbę zespoloną przyjmuje postać) rzeczywistej , Double urojonej, gdzie rzeczywiste i urojone są ** reprezentacjami ciągu wartości, które tworzą rzeczywiste i urojone składniki liczby zespolonej.By default, the string representation of a complex number takes the form (real, imaginary), where real and imaginary are the string representations of the Double values that form the complex number's real and imaginary components. Niektóre przeciążenia ToString metody umożliwiają dostosowanie ciągu reprezentacji tych Double wartości w celu odzwierciedlenia Konwencji formatowania określonej kultury lub wyświetlania w określonym formacie zdefiniowanym przez standardową lub niestandardową wartość ciąg formatu.Some overloads of the ToString method allow customization of the string representations of these Double values to reflect the formatting conventions of a particular culture or to appear in a particular format defined by a standard or custom numeric format string. (Aby uzyskać więcej informacji, zobacz Standardowe ciągi formatujące numeryczne i ciągi formatu niestandardowego.)(For more information, see Standard Numeric Format Strings and Custom Numeric Format Strings.)

Jednym z najpopularniejszych sposobów wyrażania ciągu reprezentującego liczbę zespoloną jest forma a + bi, gdzie a to prawdziwy składnik liczby zespolonej, a b to składnik urojony liczby zespolonej.One of the more common ways of expressing the string representation of a complex number takes the form a + bi, where a is the complex number's real component, and b is the complex number's imaginary component. W inżynierii elektrycznej liczba złożona jest najczęściej wyrażona jako + BJ.In electrical engineering, a complex number is most commonly expressed as a + bj. Można zwrócić ciąg reprezentujący liczbę zespoloną w jednej z tych dwóch form.You can return the string representation of a complex number in either of these two forms. Aby to zrobić, zdefiniuj niestandardowego dostawcę formatowania ICustomFormatter String.Format(IFormatProvider, String, Object[]) , implementując interfejsy i IFormatProvider , a następnie Wywołaj metodę.To do this, define a custom format provider by implementing the ICustomFormatter and IFormatProvider interfaces, and then call the String.Format(IFormatProvider, String, Object[]) method.

W poniższym przykładzie zdefiniowano ComplexFormatter klasę, która reprezentuje liczbę zespoloną jako ciąg w postaci a + bi lub + BJ.The following example defines a ComplexFormatter class that represents a complex number as a string in the form of either a + bi or a + bj.

using System;
using System.Numerics;

public class ComplexFormatter :IFormatProvider, ICustomFormatter
{
   public object GetFormat(Type formatType) 
   {   
      if (formatType == typeof(ICustomFormatter))
         return this;
      else
         return null;
   }
   
   public string Format(string format, object arg, 
                        IFormatProvider provider)
   {
      if (arg is Complex)
      {
         Complex c1 = (Complex) arg; 
         // Check if the format string has a precision specifier.
         int precision;
         string fmtString = String.Empty;
         if (format.Length > 1) {
            try {
               precision = Int32.Parse(format.Substring(1));
            }
            catch (FormatException) {
               precision = 0;
            }
            fmtString = "N" + precision.ToString();
         }
         if (format.Substring(0, 1).Equals("I", StringComparison.OrdinalIgnoreCase))
            return c1.Real.ToString(fmtString) + " + " + c1.Imaginary.ToString(fmtString) + "i";
         else if (format.Substring(0, 1).Equals("J", StringComparison.OrdinalIgnoreCase))
            return c1.Real.ToString(fmtString) + " + " + c1.Imaginary.ToString(fmtString) + "j";
         else
            return c1.ToString(format, provider);
      }
      else
      {
         if (arg is IFormattable)
            return ((IFormattable) arg).ToString(format, provider);
         else if (arg != null) 
            return arg.ToString();
         else
            return String.Empty;
      }                        
   }
}
Imports System.Numerics

Public Class ComplexFormatter 
             Implements IFormatProvider, ICustomFormatter
   
   Public Function GetFormat(formatType As Type) As Object _
                   Implements IFormatProvider.GetFormat
      If formatType Is GetType(ICustomFormatter) Then
         Return Me
      Else
         Return Nothing
      End If
   End Function
   
   Public Function Format(fmt As String, arg As Object, 
                          provider As IFormatProvider) As String _
                   Implements ICustomFormatter.Format
      If TypeOf arg Is Complex Then
         Dim c1 As Complex = DirectCast(arg, Complex)
         ' Check if the format string has a precision specifier.
         Dim precision As Integer
         Dim fmtString As String = String.Empty
         If fmt.Length > 1 Then
            Try
               precision = Int32.Parse(fmt.Substring(1))
            Catch e As FormatException
               precision = 0
            End Try
            fmtString = "N" + precision.ToString()
         End If
         If fmt.Substring(0, 1).Equals("I", StringComparison.OrdinalIgnoreCase) Then
            Return c1.Real.ToString(fmtString) + " + " + c1.Imaginary.ToString(fmtString) + "i"
         ElseIf fmt.Substring(0, 1).Equals("J", StringComparison.OrdinalIgnoreCase) Then
            Return c1.Real.ToString(fmtString) + " + " + c1.Imaginary.ToString(fmtString) + "j"
         Else
            Return c1.ToString(fmt, provider)
         End If
      Else
         If Typeof arg Is IFormattable Then
            Return DirectCast(arg, IFormattable).ToString(fmt, provider)
         ElseIf arg IsNot Nothing Then
            Return arg.ToString()
         Else
            Return String.Empty
         End If   
      End If                        
   End Function
End Class

Poniższy przykład używa tego niestandardowego programu formatującego do wyświetlania ciągu reprezentującego liczbę zespoloną.The following example then uses this custom formatter to display the string representation of a complex number.

public class Example
{
   public static void Main()
   {
      Complex c1 = new Complex(12.1, 15.4);
      Console.WriteLine("Formatting with ToString():       " + 
                        c1.ToString());
      Console.WriteLine("Formatting with ToString(format): " + 
                        c1.ToString("N2"));
      Console.WriteLine("Custom formatting with I0:        " + 
                        String.Format(new ComplexFormatter(), "{0:I0}", c1));
      Console.WriteLine("Custom formatting with J3:        " + 
                        String.Format(new ComplexFormatter(), "{0:J3}", c1));
   }
}
// The example displays the following output:
//    Formatting with ToString():       (12.1, 15.4)
//    Formatting with ToString(format): (12.10, 15.40)
//    Custom formatting with I0:        12 + 15i
//    Custom formatting with J3:        12.100 + 15.400j
Module Example
   Public Sub Main()
      Dim c1 As Complex = New Complex(12.1, 15.4)
      Console.WriteLine("Formatting with ToString():       " + 
                        c1.ToString())
      Console.WriteLine("Formatting with ToString(format): " + 
                        c1.ToString("N2"))
      Console.WriteLine("Custom formatting with I0:        " + 
                        String.Format(New ComplexFormatter(), "{0:I0}", c1))
      Console.WriteLine("Custom formatting with J3:        " + 
                        String.Format(New ComplexFormatter(), "{0:J3}", c1))
   End Sub
End Module
' The example displays the following output:
'    Formatting with ToString():       (12.1, 15.4)
'    Formatting with ToString(format): (12.10, 15.40)
'    Custom formatting with I0:        12 + 15i
'    Custom formatting with J3:        12.100 + 15.400j

Konstruktory

Complex(Double, Double)

Inicjuje nowe wystąpienie Complex struktury przy użyciu określonych wartości rzeczywistych i urojonych.Initializes a new instance of the Complex structure using the specified real and imaginary values.

Pola

ImaginaryOne

Zwraca nowe Complex wystąpienie o liczbie rzeczywistej równej zero i liczbie urojonej równej jednemu.Returns a new Complex instance with a real number equal to zero and an imaginary number equal to one.

Infinity

Reprezentuje nieskończoność jako liczbę zespoloną.Represents infinity as a complex number.

NaN

Reprezentuje wystąpienie złożone, które nie jest liczbą (NaN).Represents a complex instance that is not a number (NaN).

One

Zwraca nowe Complex wystąpienie o liczbie rzeczywistej równej jednej i liczbie urojonej równej zero.Returns a new Complex instance with a real number equal to one and an imaginary number equal to zero.

Zero

Zwraca nowe Complex wystąpienie o liczbie rzeczywistej równej zero i liczbie urojonej równej zero.Returns a new Complex instance with a real number equal to zero and an imaginary number equal to zero.

Właściwości

Imaginary

Pobiera składnik urojony bieżącego Complex obiektu.Gets the imaginary component of the current Complex object.

Magnitude

Pobiera wartość (lub bezwzględną) liczby zespolonej.Gets the magnitude (or absolute value) of a complex number.

Phase

Pobiera fazę liczby zespolonej.Gets the phase of a complex number.

Real

Pobiera prawdziwy składnik bieżącego Complex obiektu.Gets the real component of the current Complex object.

Metody

Abs(Complex)

Pobiera wartość bezwzględną (lub wielkości) liczby zespolonej.Gets the absolute value (or magnitude) of a complex number.

Acos(Complex)

Zwraca kąt, który jest cosinusem łuku określonego numeru zespolonego.Returns the angle that is the arc cosine of the specified complex number.

Add(Complex, Complex)

Dodaje dwie liczby zespolone i zwraca wynik.Adds two complex numbers and returns the result.

Add(Complex, Double)

Dodaje liczbę zespoloną do liczby rzeczywistej o podwójnej precyzji i zwraca wynik.Adds a complex number to a double-precision real number and returns the result.

Add(Double, Complex)

Dodaje liczbę rzeczywistą o podwójnej precyzji do liczby zespolonej i zwraca wynik.Adds a double-precision real number to a complex number and returns the result.

Asin(Complex)

Zwraca kąt, który jest sinusem łuku określonego numeru zespolonego.Returns the angle that is the arc sine of the specified complex number.

Atan(Complex)

Zwraca kąt, który jest tangens łuku określonego numeru zespolonego.Returns the angle that is the arc tangent of the specified complex number.

Conjugate(Complex)

Oblicza sprzężenie liczby zespolonej i zwraca wynik.Computes the conjugate of a complex number and returns the result.

Cos(Complex)

Zwraca cosinus podanej liczby zespolonej.Returns the cosine of the specified complex number.

Cosh(Complex)

Zwraca cosinus hiperboliczny podanej liczby zespolonej.Returns the hyperbolic cosine of the specified complex number.

Divide(Complex, Complex)

Dzieli jedną liczbę zespoloną przez inną i zwraca wynik.Divides one complex number by another and returns the result.

Divide(Complex, Double)

Dzieli jedną liczbę zespoloną przez liczbę rzeczywistą o podwójnej precyzji i zwraca wynik.Divides one complex number by a double-precision real number and returns the result.

Divide(Double, Complex)

Dzieli jedną liczbę rzeczywistą o podwójnej precyzji przez liczbę zespoloną i zwraca wynik.Divides one double-precision real number by a complex number and returns the result.

Equals(Complex)

Zwraca wartość wskazującą, czy bieżące wystąpienie i określona liczba złożona mają tę samą wartość.Returns a value that indicates whether the current instance and a specified complex number have the same value.

Equals(Object)

Zwraca wartość wskazującą, czy bieżące wystąpienie i określony obiekt mają tę samą wartość.Returns a value that indicates whether the current instance and a specified object have the same value.

Exp(Complex)

Zwraca e wartość podniesioną do potęgi określonej przez liczbę zespoloną.Returns e raised to the power specified by a complex number.

FromPolarCoordinates(Double, Double)

Tworzy liczbę zespoloną na podstawie współrzędnych bieguna punktu.Creates a complex number from a point's polar coordinates.

GetHashCode()

Zwraca kod skrótu dla bieżącego Complex obiektu.Returns the hash code for the current Complex object.

IsFinite(Complex)

Określa, czy określony numer złożony jest skończona.Determines whether the specified complex number is finite.

IsInfinity(Complex)

Zwraca wartość wskazującą, czy określona liczba złożona ma być wartością nieskończoną.Returns a value indicating whether the specified complex number evaluates to infinity.

IsNaN(Complex)

Zwraca wartość wskazującą, czy określone wystąpienie złożone nie jest liczbą (NaN).Returns a value that indicates whether the specified complex instance is not a number (NaN).

Log(Complex)

Zwraca logarytm naturalny (podstawowy e) podanej liczby zespolonej.Returns the natural (base e) logarithm of a specified complex number.

Log(Complex, Double)

Zwraca logarytm o określonej liczbie zespolonej w określonej bazie.Returns the logarithm of a specified complex number in a specified base.

Log10(Complex)

Zwraca logarytm dziesiętny dla podanej liczby zespolonej.Returns the base-10 logarithm of a specified complex number.

Multiply(Complex, Complex)

Zwraca iloczyn dwóch liczb zespolonych.Returns the product of two complex numbers.

Multiply(Complex, Double)

Zwraca iloczyn liczby zespolonej i liczby rzeczywistej o podwójnej precyzji.Returns the product of a complex number and a double-precision real number.

Multiply(Double, Complex)

Zwraca iloczyn liczby rzeczywistej o podwójnej precyzji i liczby zespolonej.Returns the product of a double-precision real number and a complex number.

Negate(Complex)

Zwraca wartość z przewidzianą przez funkcję odwrotną do określonej liczby zespolonej.Returns the additive inverse of a specified complex number.

Pow(Complex, Complex)

Zwraca określoną liczbę zespoloną podniesioną do potęgi określonej przez liczbę zespoloną.Returns a specified complex number raised to a power specified by a complex number.

Pow(Complex, Double)

Zwraca określoną liczbę zespoloną podniesioną do potęgi określonej przez liczbę zmiennoprzecinkową o podwójnej precyzji.Returns a specified complex number raised to a power specified by a double-precision floating-point number.

Reciprocal(Complex)

Zwraca mnożenia odwrotności liczby zespolonej.Returns the multiplicative inverse of a complex number.

Sin(Complex)

Zwraca sinus określonego numeru złożonego.Returns the sine of the specified complex number.

Sinh(Complex)

Zwraca sinus hiperboliczny podanej liczby zespolonej.Returns the hyperbolic sine of the specified complex number.

Sqrt(Complex)

Zwraca pierwiastek kwadratowy z podanej liczby zespolonej.Returns the square root of a specified complex number.

Subtract(Complex, Complex)

Odejmuje jedną liczbę zespoloną od innej i zwraca wynik.Subtracts one complex number from another and returns the result.

Subtract(Complex, Double)

Odejmuje jedną liczbę rzeczywistą podwójnej precyzji od liczby zespolonej i zwraca wynik.Subtracts one double-precision real number from a complex number and returns the result.

Subtract(Double, Complex)

Odejmuje jedną liczbę zespoloną od liczby rzeczywistej o podwójnej precyzji i zwraca wynik.Subtracts one complex number from a double-precision real number and returns the result.

Tan(Complex)

Zwraca tangens podanej liczby zespolonej.Returns the tangent of the specified complex number.

Tanh(Complex)

Zwraca tangens hiperboliczny dla podanej liczby zespolonej.Returns the hyperbolic tangent of the specified complex number.

ToString()

Konwertuje wartość bieżącej liczby zespolonej na jej równoważną reprezentację w postaci ciągu w formie kartezjańskiego.Converts the value of the current complex number to its equivalent string representation in Cartesian form.

ToString(IFormatProvider)

Konwertuje wartość bieżącej liczby zespolonej na jej równoważną reprezentację w postaci ciągu w postaci kartezjańskiego przy użyciu określonych informacji o formatowaniu specyficznych dla kultury.Converts the value of the current complex number to its equivalent string representation in Cartesian form by using the specified culture-specific formatting information.

ToString(String)

Konwertuje wartość bieżącej liczby zespolonej na jej równoważną reprezentację w postaci ciągu w postaci kartezjańskiego przy użyciu określonego formatu dla jego części rzeczywistych i urojonych.Converts the value of the current complex number to its equivalent string representation in Cartesian form by using the specified format for its real and imaginary parts.

ToString(String, IFormatProvider)

Konwertuje wartość bieżącej liczby zespolonej na jej równoważną reprezentację w postaci ciągu w postaci kartezjańskiego przy użyciu określonego formatu i informacji o formacie specyficznym dla kultury dla jego części rzeczywistych i urojonych.Converts the value of the current complex number to its equivalent string representation in Cartesian form by using the specified format and culture-specific format information for its real and imaginary parts.

Operatory

Addition(Complex, Complex)

Dodaje dwie liczby zespolone.Adds two complex numbers.

Addition(Complex, Double)

Dodaje liczbę zespoloną do liczby rzeczywistej o podwójnej precyzji.Adds a complex number to a double-precision real number.

Addition(Double, Complex)

Dodaje liczbę rzeczywistą o podwójnej precyzji do liczby zespolonej.Adds a double-precision real number to a complex number.

Division(Complex, Complex)

Dzieli określoną liczbę zespoloną przez inną określoną liczbę zespoloną.Divides a specified complex number by another specified complex number.

Division(Complex, Double)

Dzieli określoną liczbę zespoloną przez określoną liczbę rzeczywistą o podwójnej precyzji.Divides a specified complex number by a specified double-precision real number.

Division(Double, Complex)

Dzieli określoną liczbę rzeczywistą o podwójnej precyzji o określoną liczbę zespoloną.Divides a specified double-precision real number by a specified complex number.

Equality(Complex, Complex)

Zwraca wartość wskazującą, czy dwie liczby zespolone są równe.Returns a value that indicates whether two complex numbers are equal.

Explicit(BigInteger to Complex)

Definiuje jawną konwersję BigInteger wartości na liczbę zespoloną.Defines an explicit conversion of a BigInteger value to a complex number.

Explicit(Decimal to Complex)

Definiuje jawną konwersję Decimal wartości na liczbę zespoloną.Defines an explicit conversion of a Decimal value to a complex number.

Implicit(Byte to Complex)

Definiuje niejawną konwersję niepodpisanego bajtu na liczbę zespoloną.Defines an implicit conversion of an unsigned byte to a complex number.

Implicit(Double to Complex)

Definiuje niejawną konwersję liczby zmiennoprzecinkowej o podwójnej precyzji na liczbę zespoloną.Defines an implicit conversion of a double-precision floating-point number to a complex number.

Implicit(Int16 to Complex)

Definiuje niejawną konwersję 16-bitowej podpisanej liczby całkowitej na liczbę zespoloną.Defines an implicit conversion of a 16-bit signed integer to a complex number.

Implicit(Int32 to Complex)

Definiuje niejawną konwersję 32-bitowej podpisanej liczby całkowitej na liczbę zespoloną.Defines an implicit conversion of a 32-bit signed integer to a complex number.

Implicit(Int64 to Complex)

Definiuje niejawną konwersję 64-bitowej podpisanej liczby całkowitej na liczbę zespoloną.Defines an implicit conversion of a 64-bit signed integer to a complex number.

Implicit(SByte to Complex)

Definiuje niejawną konwersję podpisanego bajtu na liczbę zespoloną.Defines an implicit conversion of a signed byte to a complex number.

Ten interfejs API nie jest zgodny ze specyfikacją CLS.This API is not CLS-compliant.

Implicit(Single to Complex)

Definiuje niejawną konwersję liczby zmiennoprzecinkowej o pojedynczej precyzji na liczbę zespoloną.Defines an implicit conversion of a single-precision floating-point number to a complex number.

Implicit(UInt16 to Complex)

Definiuje niejawną konwersję 16-bitowej liczby całkowitej bez znaku na liczbę zespoloną.Defines an implicit conversion of a 16-bit unsigned integer to a complex number.

Ten interfejs API nie jest zgodny ze specyfikacją CLS.This API is not CLS-compliant.

Implicit(UInt32 to Complex)

Definiuje niejawną konwersję 32-bitowej liczby całkowitej bez znaku na liczbę zespoloną.Defines an implicit conversion of a 32-bit unsigned integer to a complex number.

Ten interfejs API nie jest zgodny ze specyfikacją CLS.This API is not CLS-compliant.

Implicit(UInt64 to Complex)

Definiuje niejawną konwersję 64-bitowej liczby całkowitej bez znaku na liczbę zespoloną.Defines an implicit conversion of a 64-bit unsigned integer to a complex number.

Ten interfejs API nie jest zgodny ze specyfikacją CLS.This API is not CLS-compliant.

Inequality(Complex, Complex)

Zwraca wartość wskazującą, czy dwie liczby zespolone nie są równe.Returns a value that indicates whether two complex numbers are not equal.

Multiply(Complex, Complex)

Mnoży dwa określone liczby zespolone.Multiplies two specified complex numbers.

Multiply(Complex, Double)

Mnoży określoną liczbę zespoloną przez określoną liczbę rzeczywistą o podwójnej precyzji.Multiplies the specified complex number by a specified double-precision real number.

Multiply(Double, Complex)

Mnoży określoną liczbę rzeczywistą o podwójnej precyzji przez określoną liczbę zespoloną.Multiplies a specified double-precision real number by a specified complex number.

Subtraction(Complex, Complex)

Odejmuje liczbę zespoloną od innego numeru zespolonego.Subtracts a complex number from another complex number.

Subtraction(Complex, Double)

Odejmuje liczbę rzeczywistą o podwójnej precyzji od liczby zespolonej.Subtracts a double-precision real number from a complex number.

Subtraction(Double, Complex)

Odejmuje liczbę zespoloną od liczby rzeczywistej o podwójnej precyzji.Subtracts a complex number from a double-precision real number.

UnaryNegation(Complex)

Zwraca wartość z przewidzianą przez funkcję odwrotną do określonej liczby zespolonej.Returns the additive inverse of a specified complex number.

Dotyczy