Complex.FromPolarCoordinates(Double, Double) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Komplex számot hoz létre egy pont polárkoordinátáiból.
public:
static System::Numerics::Complex FromPolarCoordinates(double magnitude, double phase);
public static System.Numerics.Complex FromPolarCoordinates(double magnitude, double phase);
static member FromPolarCoordinates : double * double -> System.Numerics.Complex
Public Shared Function FromPolarCoordinates (magnitude As Double, phase As Double) As Complex
Paraméterek
- magnitude
- Double
A nagyság, amely a forrástól (az x tengely és az y tengely metszéspontja) és a szám közötti távolság.
- phase
- Double
A fázis, amely a vonal és a vízszintes tengely közötti szög, radiánban mérve.
Válaszok
Egy összetett szám.
Példák
Az alábbi példa egy összetett számnak a FromPolarCoordinates polárkoordináta alapján történő példányosítására, majd annak és Phase tulajdonságainak értékének Magnitude megjelenítésére használja a metódust.
using System;
using System.Numerics;
public class Example
{
public static void Main()
{
Complex c1 = Complex.FromPolarCoordinates(10, 45 * Math.PI / 180);
Console.WriteLine("{0}:", c1);
Console.WriteLine(" Magnitude: {0}", Complex.Abs(c1));
Console.WriteLine(" Phase: {0} radians", c1.Phase);
Console.WriteLine(" Phase {0} degrees", c1.Phase * 180/Math.PI);
Console.WriteLine(" Atan(b/a): {0}", Math.Atan(c1.Imaginary/c1.Real));
}
}
// The example displays the following output:
// (7.07106781186548, 7.07106781186547):
// Magnitude: 10
// Phase: 0.785398163397448 radians
// Phase 45 degrees
// Atan(b/a): 0.785398163397448
open System
open System.Numerics
let c1 = Complex.FromPolarCoordinates(10., 45. * Math.PI / 180.)
printfn $"{c1}:"
printfn $" Magnitude: {Complex.Abs(c1)}"
printfn $" Phase: {c1.Phase} radians"
printfn $" Phase {c1.Phase * 180. / Math.PI} degrees"
printfn $" Atan(b/a): {Math.Atan(c1.Imaginary / c1.Real)}"
// The example displays the following output:
// (7.07106781186548, 7.07106781186547):
// Magnitude: 10
// Phase: 0.785398163397448 radians
// Phase 45 degrees
// Atan(b/a): 0.785398163397448
Imports System.Numerics
Module Example
Public Sub Main()
Dim c1 As Complex = Complex.FromPolarCoordinates(10, 45 * Math.Pi / 180)
Console.WriteLine("{0}:", c1)
Console.WriteLine(" Magnitude: {0}", Complex.Abs(c1))
Console.WriteLine(" Phase: {0} radians", c1.Phase)
Console.WriteLine(" Phase {0} degrees", c1.Phase * 180/Math.Pi)
Console.WriteLine(" Atan(b/a): {0}", Math.Atan(c1.Imaginary/c1.Real))
End Sub
End Module
' The example displays the following output:
' (7.07106781186548, 7.07106781186547):
' Magnitude: 10
' Phase: 0.785398163397448 radians
' Phase 45 degrees
' Atan(b/a): 0.785398163397448
Megjegyzések
A FromPolarCoordinates metódus egy összetett számot hoz létre a polárkoordinátái alapján.
Mivel egy összetett síkon egy pont több ábrázolása is van, a FromPolarCoordinates metódus visszatérési értéke normalizálódik. A magnitúdó pozitív számra normalizálódik, a fázis pedig a - és a -PI közötti tartományban lévő értékre van normalizálva PI. Ennek eredményeképpen előfordulhat, hogy az Phase eredményül kapott komplex szám értékei és Magnitude tulajdonságai nem egyeznek meg a paraméterek és phase a magnitude paraméterek eredeti értékeivel.
Ha egy értéket fokról radiánra szeretne konvertálni a phase paraméterhez, szorozza meg $\frac{\pi}{180}$ értékkel.