コード例 #1
0
    public FuncionTrigonometrica pasar(FuncionTrigonometrica numero, String unaFuncion)
    {
        String cos = "Coseno";
        String sen = "Seno";

        if (unaFuncion == cos && numero.getFuncion() == sen)
        {
            numero.setDesplazamiento(numero.getDesplazamiento() + Math.PI / 2);
            numero.setFuncion(cos);
        }
        else if (unaFuncion == sen && numero.getFuncion() == cos)
        {
            numero.setDesplazamiento(numero.getDesplazamiento() - Math.PI / 2);
            numero.setFuncion(sen);
        }
        return(numero);
    }
コード例 #2
0
    /*
     *	Defino cada numero como una clase con los valores: Amplitud, Desplazamiento, Funcion
     *	La fase la tengo a parte ya que es igual para ambas y no cambia en ninguna cuenta
     *	Usando la fase, quedaria represantado como: numero = Amplitud * Funcion(Fase*t + Desplazamiento)
     *
     *
     */

    public String OperarFasores(FuncionTrigonometrica numero1, FuncionTrigonometrica numero2, String resultadoDeseado, double W, Func <Complex, Complex, Complex> operacion)
    {
        String cos = "Coseno";
        String sen = "Seno";
        FuncionTrigonometrica nro1;
        FuncionTrigonometrica nro2;
        Operaciones           operador = new Operaciones();

        if (numero1.getAmplitud() <= 0 && numero2.getAmplitud() <= 0)
        {
            return("0");
        }

        if (resultadoDeseado == cos)
        {
            nro1 = pasar(numero1, cos);
            nro2 = pasar(numero2, cos);
        }
        else if (resultadoDeseado == sen)
        {
            nro1 = pasar(numero1, sen);
            nro2 = pasar(numero2, sen);
        }
        else
        {
            return("0");
        }

        Complex n1 = operador.ObtenerBinomicoDePolar(nro1.getAmplitud(), nro1.getDesplazamiento());
        Complex n2 = operador.ObtenerBinomicoDePolar(nro2.getAmplitud(), nro2.getDesplazamiento());

        Complex n3 = operacion(n1, n2);

        if (n3.Magnitude == 0)
        {
            return("0");
        }

        return(n3.Magnitude.ToString() + "*" + resultadoDeseado + "(" + W.ToString() + " * t + " + n3.Phase.ToString() + ")");
    }