Exemplo n.º 1
0
        public static SymbolicExpression GetTaylor(int k, SymbolicExpression symbol, SymbolicExpression a, SymbolicExpression x)
        {
            int factorial = 1;
            SymbolicExpression accumulator = SymbolicExpression.Zero;
            SymbolicExpression derivative = x;
            for (int i = 0; i < k; i++)
            {
                var subs = derivative.Substitute(symbol, a);
                derivative = derivative.Differentiate(symbol);
                accumulator = accumulator.Add(subs / factorial * (symbol.Subtract(a)).Pow(i));
                factorial *= (i + 1);
            }

            return accumulator.Expand();
        }
        public static SymbolicExpression GetTaylorExpression(int k, Expr symbol, Expr al, Expr xl)
        {
            int factorial = 1;
            SymbolicExpression accumulator = SymbolicExpression.Zero;
            SymbolicExpression derivative  = xl;

            for (int i = 0; i < k; i++)
            {
                var subs = derivative.Substitute(symbol, al);
                derivative  = derivative.Differentiate(symbol);
                accumulator = accumulator + subs / factorial * ((symbol - al).Pow(i));
                factorial  *= (i + 1);
            }

            return(accumulator.Expand());
        }