Ejemplo n.º 1
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (txtAngulo1.TextLength != 0 && txtAngulo2.TextLength != 0 &&
                txtFrecuencia1.TextLength != 0 && txtFrecuencia2.TextLength != 0 &&
                txtAmp1.TextLength != 0 && txtAmp2.TextLength != 0)
            {
                Fasor fasor1 = new Fasor(comboBox1.SelectedItem.ToString(),
                                         Convert.ToDouble(txtAmp1.Text),
                                         Convert.ToDouble(txtFrecuencia1.Text),
                                         Convert.ToDouble(txtAngulo1.Text));

                Fasor fasor2 = new Fasor(comboBox2.SelectedItem.ToString(),
                                         Convert.ToDouble(txtAmp2.Text),
                                         Convert.ToDouble(txtFrecuencia2.Text),
                                         Convert.ToDouble(txtAngulo2.Text));

                Fasor resultado = fasor1.sumaDeFasores(fasor1, fasor2);
                if (resultado.getTipo() != "no")
                {
                    lblRes.Text = resultado.getAmplitud().ToString() + resultado.getTipo() + "( " + resultado.getFrecuencia().ToString() + "t + " + resultado.getAngulo().ToString() + " )";
                }
                else
                {
                    MessageBox.Show("Operacion no valida");
                }
            }
        }
Ejemplo n.º 2
0
        public Fasor sumaDeFasores(Fasor unFasor, Fasor otroFasor)
        {
            if (unFasor.frecuencia == otroFasor.frecuencia && unFasor.tipo == otroFasor.tipo)
            {
                Complex unComplejo   = convertirAComplejo(unFasor);
                Complex otroComplejo = convertirAComplejo(otroFasor);
                unComplejo.polarToBinomial();
                otroComplejo.polarToBinomial();

                Complex suma = unComplejo.addComplex(otroComplejo);

                /*double amp = Math.Sqrt(Math.Pow(unFasor.getAmplitud(), 2) + Math.Pow(otroFasor.getAmplitud(), 2));
                 * double arg = Math.Atan(otroComplejo.getB() / unComplejo.getB());*/
                suma.binomialToPolar();

                return(new Fasor(unFasor.getTipo(), suma.getModulo(), unFasor.getFrecuencia(), suma.getArgumento()));
            }
            else
            {
                if (unFasor.frecuencia == otroFasor.frecuencia && unFasor.tipo != otroFasor.tipo)
                {
                    if (unFasor.getTipo() == "sen")
                    {
                        unFasor.setTipo("cos");
                        unFasor.setAngulo(unFasor.getAngulo() - (Math.PI / 2));
                    }
                    else
                    {
                        otroFasor.setTipo("cos");
                        otroFasor.setAngulo(otroFasor.getAngulo() - (Math.PI / 2));
                    }
                    Complex unComplejo   = convertirAComplejo(unFasor);
                    Complex otroComplejo = convertirAComplejo(otroFasor);
                    unComplejo.polarToBinomial();
                    otroComplejo.polarToBinomial();

                    Complex suma = unComplejo.addComplex(otroComplejo);

                    /*double amp = Math.Sqrt(Math.Pow(unFasor.getAmplitud(), 2) + Math.Pow(otroFasor.getAmplitud(), 2));
                     * double arg = Math.Atan(otroComplejo.getB() / unComplejo.getB());*/
                    suma.binomialToPolar();

                    return(new Fasor(unFasor.getTipo(), suma.getModulo(), unFasor.getFrecuencia(), suma.getArgumento()));
                }
                else
                {
                    return(new Fasor("no", -1, -1, -1)); //Error
                }
            }
        }
Ejemplo n.º 3
0
 public Complex convertirAComplejo(Fasor miFasor)
 {
     return(new Complex(0, 0, miFasor.getAmplitud(), miFasor.getAngulo()));
 }