コード例 #1
0
ファイル: Program.cs プロジェクト: ychavoya/metodos-numericos
        static void CalculoNumerico()
        {
            Console.WriteLine("\n=== Diferenciación e integración numérica ===");

            double resD = Calculo.Derivar(Funciones.FuncParticula, 5);

            Console.WriteLine($"Derivada: {resD}");

            double resI = Calculo.IntegrarRect(Funciones.FuncRaizConCubo, new Intervalo <double>(0, 2), 4);

            Console.WriteLine($"Integral: {resI}");
        }
コード例 #2
0
        /// <summary>
        /// Busca aproximaciones de raíces de una función a través del método de Newton-Raphson.
        /// Recibe un valor inicial de x para comenzar el cálculo.
        /// </summary>
        /// <param name="f">La función a evaluar</param>
        /// <param name="x0">El valor inicial de x</param>
        /// <param name="iterations">El número de iteraciones a realizar para la aproximación</param>
        /// <returns>Una aproximación a la raíz de la función</returns>
        public static double NewtonRaphson(Func <double, double> f, double x0, int iterations)
        {
            double raiz = x0;

            for (int i = 1; i <= iterations; i++)
            {
                double raizAnt = raiz;

                raiz -= f(raiz) / Calculo.Derivar(f, raiz);

                ErrorAbsoluto = Math.Abs(raiz - raizAnt);
                ErrorRelativo = ErrorAbsoluto / Math.Abs(raiz);
            }

            return(raiz);
        }