Hirdetés

Új hozzászólás Aktív témák

  • dqdb

    nagyúr

    válasz bandi0000 #8538 üzenetére

    (a + bi)(c + di) = ac + adi + bci + bdi² = ac + (ad + bc)i + bdi²

    Mivel i = √-1, ezért i² = -1, azaz

    ac + (ad + bc)i + bdi² = ac + (ad + bc)i + bd × (-1) = (ac - bd) + (ad + bc)i

    Vagyis:

    (a + bi)*(c + di) = (ac - bd) + (ad + bc)i

    Ha megnézed ennek a .NET Core-ban található implementációját, akkor ott pontosan ez szerepel:

    public static Complex Multiply(Complex left, Complex right)
    {
    return left * right;
    }

    public static Complex operator *(Complex left, Complex right)
    {
    // Multiplication: (a + bi)(c + di) = (ac -bd) + (bc + ad)i
    double result_realpart = (left.m_real * right.m_real) - (left.m_imaginary * right.m_imaginary);
    double result_imaginarypart = (left.m_imaginary * right.m_real) + (left.m_real * right.m_imaginary);
    return new Complex(result_realpart, result_imaginarypart);
    }

    Vagyis akárhogyan nézem, jól szoroz össze két komplex számot az ajánlott osztály (csúnya is lenne, ha nem).

    tAm6DAHNIbRMzSEARWxtZW50ZW0gdmFka5RydIJ6bmkuDQoNClOBc4Ek

Új hozzászólás Aktív témák

Hirdetés