/// <summary> /// Permite dividir dos numeros complejos /// </summary> /// <param name="pOtroComplejo">Numero complejo que divide</param> /// <returns>Nuevo complejo con el resultado de la division</returns> public Complejo DividirPor(Complejo pOtroComplejo) { //Formula division complejos: (A + Bi) / (C + Di) = ( (A*C + B*D) / (C^2 + D^2) ) + ( (B*C - A*D) / (C^2+D^2) ) if (pOtroComplejo.Real == 0 && pOtroComplejo.Imaginario == 0) { throw new System.ArgumentException("No se puede dividir por 0."); } else { return(Complejo.Crear((((this.Real * pOtroComplejo.Real) + (this.Imaginario * pOtroComplejo.Imaginario)) / (Math.Pow(pOtroComplejo.Imaginario, 2) + Math.Pow(pOtroComplejo.Real, 2))), (((this.Imaginario * pOtroComplejo.Real) - (this.Real * pOtroComplejo.Imaginario)) / (Math.Pow(pOtroComplejo.Imaginario, 2) + Math.Pow(pOtroComplejo.Real, 2))))); } }
/// <summary> /// Permite restar dos numeros complejos /// </summary> /// <param name="pOtroComplejo"> Numero complejo a resta</param> /// <returns>Nuevo complejo con el resultado de la resta</returns> public Complejo Restar(Complejo pOtroComplejo) { return(Complejo.Crear(this.Real - pOtroComplejo.Real, this.Imaginario - pOtroComplejo.Imaginario)); }
/// <summary> /// Permite multiplicar dos numeros complejos /// </summary> /// <param name="pOtroComplejo">Numero complejo que multiplica</param> /// <returns>Nuevo complejo con el resultado de la multiplicacion</returns> public Complejo MultiplicarPor(Complejo pOtroComplejo) { //Formula multiplicacion complejos: (A + Bi) * (C + Di) = (A*C-B*D) + (A*D+BC)i return(Complejo.Crear((this.Real * pOtroComplejo.Real) - (this.Real * pOtroComplejo.Imaginario), ((this.Real * pOtroComplejo.Imaginario) + (this.Imaginario * pOtroComplejo.Real)))); }
/// <summary> /// Permite sumar dos numeros complejos /// </summary> /// <param name="pOtroComplejo"> Numero complejo a sumar</param> /// <returns>Nuevo complejo con el resultado de la suma</returns> public Complejo Sumar(Complejo pOtroComplejo) { return(Complejo.Crear(this.Real + pOtroComplejo.Real, this.Imaginario + pOtroComplejo.Imaginario)); }