示例#1
0
        /// <summary>
        /// Создаем критерий останова
        /// </summary>
        /// <param name="stopCondition">перечисление критерий останова</param>
        /// <returns></returns>
        public static IStopCondition StopCondition(EnumStopCondition stopCondition = EnumStopCondition.КоличествоИтераций)
        {
            IStopCondition _StopCondition;
            //Создаем метод с заданным критерием останова
            switch (stopCondition)
            {
                case EnumStopCondition.КоличествоЭкстремумов:
                    _StopCondition = new StopCondition_1()
                    {
                        StopConditionType = (int)EnumStopCondition.КоличествоЭкстремумов,
                        //Задаем максимальное количество внешних итераций (компонентов сигнала)
                        //I = 8;
                        J = 8
                    };
                    break;
                case EnumStopCondition.КоличествоИтерацийИлиЭкстремумов:
                    _StopCondition = new StopCondition_2()
                    {
                        StopConditionType = (int)EnumStopCondition.КоличествоИтерацийИлиЭкстремумов,
                        //Задаем максимальное количество внешних итераций (компонентов сигнала)
                        //I = 8;
                        J = 8
                    };
                    break;
                default:
                    //EnumStopCondition.КоличествоИтераций:
                    _StopCondition = new StopCondition()
                    {
                        StopConditionType = (int)EnumStopCondition.КоличествоИтераций,
                        //Задаем максимальное количество внешних итераций (компонентов сигнала)
                        //I = 8;
                        J = 8
                    };
                    break;
            }

            return _StopCondition;
        }
示例#2
0
 /// <summary>
 /// Создаем критерий останова для процесса отсеивания
 /// </summary>
 /// <param name="stopConditionSeparate">Критерий останова для процесса отсеивания</param>
 /// <returns>Критерий останова для процесса отсеивания</returns>
 public static IStopCondition StopConditionSeparate(EnumStopConditionSeparate stopConditionSeparate = EnumStopConditionSeparate.КоличествоИтерацийИлиДостигнутаТочность)
 {
     IStopCondition _StopConditionSeparate;
     //Создаем критерий останова для процесса отсеивания
     switch (stopConditionSeparate)
     {
         case EnumStopConditionSeparate.ДостигнутаТочностьОтсеивания:
             _StopConditionSeparate = new StopConditionSeparate_1()
             {
                 StopConditionType = (int)EnumStopConditionSeparate.ДостигнутаТочностьОтсеивания,
                 //Задаем максимальное количество внутренних итераций отсеивания (определение высокочастотной составляющей)
                 //J = 8;
                 J = 0,
                 //Задаем максимальное количество внутренних итераций отсеивания (определение высокочастотной составляющей)
                 //Нормализованная квадратичная разность между двумя последовательными операциями приближения
                 S = 0.001,
                 dS = 0.001
             };
             break;
         case EnumStopConditionSeparate.КоличествоИтерацийИлиДостигнутаТочность:
             _StopConditionSeparate = new StopConditionSeparate_2()
             {
                 StopConditionType = (int)EnumStopConditionSeparate.КоличествоИтерацийИлиДостигнутаТочность,
                 //Задаем максимальное количество внутренних итераций отсеивания (определение высокочастотной составляющей)
                 //J = 8;
                 J = 8,
                 //Задаем максимальное количество внутренних итераций отсеивания (определение высокочастотной составляющей)
                 //Нормализованная квадратичная разность между двумя последовательными операциями приближения
                 S = 0.001,
                 dS = 0.001
             };
             break;
         default:
             //EnumStopCondition.КоличествоИтераций:
             _StopConditionSeparate = new StopCondition()
             {
                 StopConditionType = (int)EnumStopCondition.КоличествоИтераций,
                 //Задаем максимальное количество внутренних итераций отсеивания (определение высокочастотной составляющей)
                 //J = 8;
                 J = 8,
                 //Задаем максимальное количество внутренних итераций отсеивания (определение высокочастотной составляющей)
                 //Нормализованная квадратичная разность между двумя последовательными операциями приближения
                 S = 0
             };
             break;
     }
     return _StopConditionSeparate;
 }