Beispiel #1
0
        public double ZerarFuncao(FormulaInputZeroFuncaoModel input)
        {
            //Faz reflection para executar a fórmula que o usuário escolheu
            Funcao = FuncaoHelper.Clean(input.Funcao);
            Type       classe        = Type.GetType("WebApplication1.Metodos.MetodosHub");
            MethodInfo metodoCalculo = classe.GetMethod(input.Metodo.ToString());

            return((double)metodoCalculo.Invoke(this, new object[] { input }));
        }
Beispiel #2
0
        public double Newton_Ralphson(FormulaInputZeroFuncaoModel input)
        {
            string derivada = FuncaoHelper.Clean(input.Derivada);
            double x, f, x0, flinha;

            x0 = input.A;
            int LIMITE = 10000;

            do
            {
                f      = F(x0);
                flinha = F_linha(x0, derivada);
                if (f == 0)
                {
                    return(x0);
                }
                x  = x0 - (f / (flinha > 0 ? flinha : 1));
                x0 = x;
                LIMITE--;
            } while (Math.Abs(F(x)) > input.Erro && LIMITE > 0);
            return(x);
        }
Beispiel #3
0
        public double F_linha(double x, string derivada)
        {
            var r = FuncaoHelper.Calculate(derivada, x);

            return(r == null ? throw new Exception() : (double)r);
        }
Beispiel #4
0
        public double F(double x)
        {
            var r = FuncaoHelper.Calculate(Funcao, x);

            return(r == null ? throw new Exception() : (double)r);
        }