コード例 #1
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


                    /////////////////////////////////////////////////////////
                }
            }
        }
コード例 #2
0
ファイル: N_Net.cs プロジェクト: homjan/PPG_spectr
 private void Set_Signal_Data()
 {
     row0001 = Function_additional.Convert_Long_To_Double(periods_1000, ew, N_nejron_in);
     row01   = Function_additional.Calculate_Derivative_Array(row0001, ew, N_nejron_in);
 }