/// <summary> /// <b>Не реализовано.</b> /// </summary> /// <param name="function">Исходная функция.</param> /// <param name="x">Точка, в которой нужно вычислить производную.</param> /// <param name="eps">Окрестность точки, для вычисления производной.</param> /// <param name="side">Сторона для вычислеиня производной.</param> /// <param name="order">Степень вычисляемой производной.</param> /// <returns>Производная функции степени <paramref name="order"/>.</returns> public static double Differentiate(Func <double, double> function, double x, double eps, ELimitSide side, int order) { if (order == 0) { return(function(x)); } if (order < 0) { throw new NotImplementedException(); } switch (side) { case ELimitSide.Left: return(DifferentiateLeft(function, x, eps, order)); case ELimitSide.Right: return(DifferentiateRight(function, x, eps, order)); default: return(Differentiate(function, x, eps, order)); } }
/// <summary> /// <b>Не реализовано.</b> /// </summary> /// <param name="function">Исходная функция.</param> /// <param name="x">Точка, в которой нужно вычислить производную.</param> /// <param name="eps">Окрестность точки, для вычисления производной.</param> /// <param name="side">Сторона для вычислеиня производной.</param> /// <returns>Производная функции первой степени.</returns> public static double Differentiate(Func <double, double> function, double x, double eps, ELimitSide side = ELimitSide.Both) { return(Differentiate(function, x, eps, side, 1)); }