コード例 #1
0
        /// <summary>Определить максимум функции</summary>
        /// <param name="f">Исследуемая функция</param>
        /// <param name="x1">Начало интервала</param>
        /// <param name="x2">Конец интервала</param>
        /// <param name="dx">Шаг</param>
        /// <returns>Максимум функции</returns>
        public static FuncValue GetMaxValue([NotNull] this Function f, double x1, double x2, double dx = 0.0001)
        {
            var values = f.GetValues(x1, x2, dx);
            var max    = new FuncValue {
                Value = double.NegativeInfinity
            };

            for (int i = 0, N = values.Length; i < N; i++)
            {
                var v = values[i];
                if (v <= max.Value)
                {
                    continue;
                }
                max.Value    = v;
                max.Argument = i * dx + x1;
            }
            return(max);
        }
コード例 #2
0
 /// <summary>Инициализация нового максимального и минимального значения функции</summary>
 /// <param name="min">Минимум функции</param>
 /// <param name="max">Максимум функции</param>
 public FuncMinMaxValue(FuncValue min, FuncValue max)
 {
     Min = min;
     Max = max;
 }