예제 #1
0
        public void Calculate_Base_Statistic()
        {
            for (int i = 0; i < ew; i++)
            {
                if (periods[i].Length < 200)
                {
                    schet[2, i]  = 0; // минимум В1
                    schet[3, i]  = 0; // положение минимума В1 - начала отсчета
                    schet[4, i]  = 0; // максимум В2
                    schet[5, i]  = 0; // положение максимума В2 - начала отсчета - EKG_max_x[w]
                    schet[6, i]  = 0; // минимум В3
                    schet[7, i]  = 0; // положение минимума В3 - начала отсчета- EKG_max_x[w]
                    schet[8, i]  = 0; // максимум В4
                    schet[9, i]  = 0; // положение максимума В4 - начала отсчета - EKG_max_x[w]
                    schet[10, i] = 0;
                }
                else
                {
                    schet[2, i]  = periods[i][0 + shift_B1];                                    // минимум В1
                    schet[3, i]  = row1[Periods_Data.Return_Length_X_Zero(i, 0 + shift_B1), 0]; // положение минимума В1 - начала отсчета
                    schet[10, i] = periods[i][0 + shift_B1];

                    B2 = Methods_Statistics.Statistic_Point_B2(periods[i].Length);
                    B3 = Methods_Statistics.Statistic_Point_B3(periods[i].Length);
                    B4 = Methods_Statistics.Statistic_Point_B4(periods[i].Length);

                    schet[4, i] = periods[i][B2] - periods[i][0 + shift_B1];         // максимум В2
                    schet[5, i] = row1[Periods_Data.Return_Length_X_Zero(i, B2), 0]; // положение максимума В2 - начала отсчета - EKG_max_x[w]

                    schet[6, i] = periods[i][B3] - periods[i][0 + shift_B1];         // минимум В3
                    schet[7, i] = row1[Periods_Data.Return_Length_X_Zero(i, B3), 0]; // положение минимума В3 - начала отсчета- EKG_max_x[w]

                    schet[8, i] = periods[i][B4] - periods[i][0 + shift_B1];         // максимум В4
                    schet[9, i] = row1[Periods_Data.Return_Length_X_Zero(i, B4), 0]; // положение максимума В4 - начала отсчета - EKG_max_x[w]
                }
            }
        }
예제 #2
0
파일: N_Net.cs 프로젝트: homjan/PPG_spectr
        public void Calculate_Points()
        {
            for (int i = 0; i < ew; i++)
            {
                if (periods[i].Length < 240)
                {
                    schet[2, i]  = 0; // минимум В1
                    schet[3, i]  = 0; // положение минимума В1 - начала отсчета
                    schet[4, i]  = 0; // максимум В2
                    schet[5, i]  = 0; // положение максимума В2 - начала отсчета - EKG_max_x[w]
                    schet[6, i]  = 0; // минимум В3
                    schet[7, i]  = 0; // положение минимума В3 - начала отсчета- EKG_max_x[w]
                    schet[8, i]  = 0; // максимум В4
                    schet[9, i]  = 0; // положение максимума В4 - начала отсчета - EKG_max_x[w]
                    schet[10, i] = 0;
                }

                else
                {
                    schet[2, i]  = periods[i][0 + shift_B1];                                    // минимум В1
                    schet[3, i]  = row1[Periods_Data.Return_Length_X_Zero(i, 0 + shift_B1), 0]; // положение минимума В1 - начала отсчета
                    schet[10, i] = periods[i][0 + shift_B1];

                    double[] r1 = Function_additional.Get_One_Line(row01, i);

                    //////////////////////////////////////////////////////
                    //Нейронная сеть
                    ////////////////////////////////////////////////////////

                    sloj2B2       = job_net.Perzertron_forward(r1, N_nejron_in, layer_1_B2);
                    sloj3B2       = job_net.Perzertron_forward_Softmax(sloj2B2, layer_1_B2, layer_2_B2);
                    sloj3B2_final = Function_additional.layer_1000(sloj3B2, position_search_B2);

                    int B2 = Function_additional.Return_Max_Element_Neural_Network(sloj3B2_final);

                    schet[5, i] = row1[Periods_Data.Return_Length_X_Zero(i, B2), 0];                              // положение максимума В2 - начала отсчета - EKG_max_x[w]
                    schet[4, i] = row1[Periods_Data.Return_Length_X_Zero(i, B2), reg] - periods[i][0 + shift_B1]; // максимум В2

                    /////////////////////////////////////////////////////////
                    sloj2B3       = job_net2.Perzertron_forward(r1, N_nejron_in, layer_1_B3);
                    sloj3B3       = job_net2.Perzertron_forward_Softmax(sloj2B3, layer_1_B3, layer_2_B3);
                    sloj3B3_final = Function_additional.layer_1000(sloj3B3, position_search_B3);

                    int B3 = Function_additional.Return_Max_Element_Neural_Network(sloj3B3_final);

                    schet[7, i] = row1[Periods_Data.Return_Length_X_Zero(i, B3), 0];                              // положение максимума В2 - начала отсчета - EKG_max_x[w]
                    schet[6, i] = row1[Periods_Data.Return_Length_X_Zero(i, B3), reg] - periods[i][0 + shift_B1]; // максимум В2

                    /////////////////////////////////////////////////////////
                    sloj2B4       = job_net3.Perzertron_forward(r1, N_nejron_in, layer_1_B4);
                    sloj3B4       = job_net3.Perzertron_forward_Softmax(sloj2B4, layer_1_B4, layer_2_B4);
                    sloj3B4_final = Function_additional.layer_1000(sloj3B4, position_search_B4);

                    int B4 = Function_additional.Return_Max_Element_Neural_Network(sloj3B4_final);

                    schet[9, i] = row1[Periods_Data.Return_Length_X_Zero(i, B4), 0];                              // положение максимума В2 - начала отсчета - EKG_max_x[w]
                    schet[8, i] = row1[Periods_Data.Return_Length_X_Zero(i, B4), reg] - periods[i][0 + shift_B1]; // максимум В2


                    /////////////////////////////////////////////////////////
                }
            }
        }