예제 #1
0
        public static HarmonicFunction restaDeFuncArmonicas(HarmonicFunction f1, HarmonicFunction f2)
        {
            var fasorA = f1.fasor();
            var fasorB = f2.fasor();

            var res      = Functions.resta(fasorA.convertirEnBinomica(), fasorB.convertirEnBinomica());
            var resPolar = res.convertirEnPolar();

            return(new HarmonicFunction(resPolar.mod, f1.frecuencia, resPolar.arg, true));
        }
        private void Res_btn_Click(object sender, EventArgs e)
        {
            res_entry.Text = "";

            if (textboxNoVacios() && tiposSeleccionados())
            {
                if (textboxSoloNum())
                {
                    if (freqA_entry.Text.Equals(freqB_entry.Text))
                    {
                        HarmonicFunction funcionA = new HarmonicFunction(double.Parse(amplitudeA_entry.Text),
                                                                         double.Parse(freqA_entry.Text), double.Parse(phaseA_entry.Text), typeA_combo.SelectedIndex.Equals(2));
                        HarmonicFunction funcionB = new HarmonicFunction(double.Parse(amplitudeB_entry.Text),
                                                                         double.Parse(freqB_entry.Text), double.Parse(phaseB_entry.Text), typeB_combo.SelectedIndex.Equals(2));

                        funcionA = funcionA.convertirEnFcos();
                        funcionB = funcionB.convertirEnFcos();

                        if (add_rad.Checked)
                        {
                            HarmonicFunction fres = Functions.sumaDeFuncArmonicas(funcionA, funcionB);

                            string stringRes = fres.mostrar();

                            if (stringRes.StartsWith("0"))
                            {
                                res_entry.AppendText("0");
                            }

                            else
                            {
                                res_entry.AppendText(stringRes);
                            }
                        }

                        else
                        {
                            HarmonicFunction fres = Functions.restaDeFuncArmonicas(funcionA, funcionB);

                            string stringRes = fres.mostrar();

                            if (stringRes.StartsWith("0"))
                            {
                                res_entry.AppendText("0");
                            }

                            else
                            {
                                res_entry.AppendText(stringRes);
                            }
                        }
                    }

                    else
                    {
                        MessageBox.Show("Las funciones ingresadas no tienen la misma frecuencia", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }
                }

                else
                {
                    MessageBox.Show("Los campos deben contener números únicamente", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
            }

            else
            {
                MessageBox.Show("Debe completar todos los campos solicitados y seleccionar el tipo de la función", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
        }