private void Mult_Clicked(object sender, EventArgs e)
        {
            string       real       = N1RealXAML.Text;
            string       imaginara  = N1ImaginariaXAML.Text;
            string       real2      = N2RealXAML.Text;
            string       imaginara2 = N2ImaginariaXAML.Text;
            Conversiones conv       = new Conversiones();
            Imaginarios  im         = new Imaginarios();
            Imaginarios  im2        = new Imaginarios();
            Imaginarios  res        = new Imaginarios();

            if (real != null && imaginara != null && real2 != null && imaginara2 != null &&
                !real.Length.Equals(0) && !imaginara.Length.Equals(0) &&
                !real2.Length.Equals(0) && !imaginara2.Length.Equals(0))
            {
                im.setReal(float.Parse(real));
                im.setImaginaria(float.Parse(imaginara));
                im2.setReal(float.Parse(real2));
                im2.setImaginaria(float.Parse(imaginara2));
                res = im.multiplicacion(im2);
                if (res.getImaginaria() < 0)
                {
                    Rreal.Text = res.getReal().ToString() + "" + res.getImaginaria().ToString() + "i";
                }
                else
                {
                    Rreal.Text = res.getReal().ToString() + "+" + res.getImaginaria().ToString() + "i";
                }
            }
            else
            {
                DisplayAlert("Advertencia", "Campos incompletos", "Volver");
            }
        }
예제 #2
0
        public void CalcAngulo(Imaginarios im)
        {
            float coseno, seno;

            mod = im.CalModulo();

            if (im.getReal().Equals(-1) && im.getImaginaria().Equals(0))
            {
                this.angulo = 180;
            }
            else
            {
                coseno = im.getReal() / mod;
                seno   = im.getImaginaria() / mod;

                angulo = (float)((Math.Atan(seno / coseno)) * 57.295779513);
            }

            if (angulo < 0)
            {
                angulo = 360 + angulo;
            }
        }
예제 #3
0
        public String Raices(Imaginarios im, int n)
        {
            String formula = "";

            this.CalcAngulo(im);
            float suma     = (float)(Math.Pow(im.getReal(), 2) + Math.Pow(im.getImaginaria(), 2));
            float potencia = (float)1 / (n + 2);
            float r        = (float)Math.Pow(suma, potencia);

            /// el arreglo en donde se guardaran los vectores a graficar
            for (int k = 0; k < n; k++)
            {
                float anguloN = (float)((this.angulo + 2 * k * Math.PI) / n);
                float auxR, auxI;
                auxR = (float)(Math.Cos(anguloN) * r);
                auxI = (float)(Math.Sin(anguloN) * r);
                //se estan guardando los numeros imaginarios en su forma compleja.
                Imaginarios aux = new Imaginarios(auxR, auxI);
                arreglo.Add(aux);
                formula = formula + "Para k=" + k + ", \n   " + r + "e^(" + anguloN + ")i " + "\n   Z= " + auxR + " + i" + auxI + "\n";
            }
            return(formula);
        }