public static INumeroComplejo Multiplicar(INumeroComplejo operando1, INumeroComplejo operando2) { double parteRealResultado = operando1.GetParteReal() * operando2.GetParteReal() - operando1.GetParteImaginaria() * operando2.GetParteImaginaria(); double parteImaginariaResultado = operando1.GetParteReal() * operando2.GetParteImaginaria() + operando1.GetParteImaginaria() * operando2.GetParteReal(); return(NumeroComplejoBinomico.NewNumeroComplejoBinomico(parteRealResultado, parteImaginariaResultado)); }
public IFasor SumarEnSen(IFasor sumando) { NumeroComplejoBinomico sumando1 = this.EnSen().EnBinomico(); NumeroComplejoBinomico sumando2 = sumando.EnSen().EnBinomico(); INumeroComplejo resultado = OperacionesService.Sumar(sumando1, sumando2); return(new FasorCoseno(resultado.GetModulo(), this.periodo, resultado.GetArgumento())); }
public static INumeroComplejo Dividir(INumeroComplejo operando1, INumeroComplejo operando2) { INumeroComplejo conjugadoDelSegundoOperando = NumeroComplejoBinomico .NewNumeroComplejoBinomico(operando2.GetParteReal(), operando2.GetParteImaginaria() * (-1)); INumeroComplejo numerador = Multiplicar(operando1, conjugadoDelSegundoOperando); double resultadoProductoDeConjugados = Math.Pow(operando2.GetParteReal(), 2) + Math.Pow(operando2.GetParteImaginaria(), 2); return(NumeroComplejoBinomico.NewNumeroComplejoBinomico(numerador.GetParteReal() / resultadoProductoDeConjugados, numerador.GetParteImaginaria() / resultadoProductoDeConjugados)); }
public NumeroComplejoBinomico EnBinomico() { INumeroComplejo aux = new NumeroComplejoPolar(this.amplitud, this.angulo);//esto es para no repetir la logica de pasar de modulo y angulo a parte real e imaginaria return(NumeroComplejoBinomico.NewNumeroComplejoBinomico(aux.GetParteReal(), aux.GetParteImaginaria())); }