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 ///////////////////////////////////////////////////////// } } }
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); }