2

数値を直交形式から極形式に変換しようとしています。つまり、20+j25 から 32<38.66 に変換しようとしています。

これが私がこれまでに持っているものです:

    static void Main(string[] args)
    {
        Complex A = new Complex (0.4, 0.3);
        Complex B = new Complex (0.6, 0.7);
        Complex C = new Complex (24, 19);
        Complex D = A + B + C;

        Console.WriteLine (D);

        Console.ReadLine();
    }

答えは 20、25 です。これは長方形です。この極性を作るにはどうすればよいですか?

ありがとう

編集:わかりました、いくつか変更を加えましたが、まだ正しい答えが得られません。コードの使用:

    static void Main(string[] args)
    {
        Complex RA = new Complex(25, 20);
        Console.WriteLine("{0} + i{1}", RA.Real, RA.Imaginary);

        double r, q;
        r = Math.Sqrt((RA.Real * RA.Real) + (RA.Imaginary * RA.Imaginary));
        q = Math.Atan(RA.Imaginary/RA.Real);
        Console.WriteLine("{0} < {1}", r, q);
        Console.ReadLine();
    }

私は 32 < 0.647 を取得しています...答えは 32<38.66 である必要があります。角度が間違っている理由を誰か説明できますか? ありがとう

4

1 に答える 1

0

とった。ラジアンを度に変換する必要があります。みんな助けてくれてありがとう!

    static void Main(string[] args)
    {
        Complex RA = new Complex(25, 20);
        Console.WriteLine("{0} + i{1}", RA.Real, RA.Imaginary);

        double r, q, z;
        r = Math.Sqrt((RA.Real * RA.Real) + (RA.Imaginary * RA.Imaginary));
        q = Math.Atan(RA.Imaginary/RA.Real);
        z = (q * (180/Math.PI));
        Console.WriteLine("{0} < {1}", r, z);
        Console.ReadLine();
    }
于 2012-12-02T18:55:58.147 に答える