Advertisement
575

main

575
May 10th, 2022
818
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 19.68 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <numeric>
  5. #include <algorithm>
  6. #include <fstream>
  7. #include <map>
  8. #include <iomanip>
  9. #include "missile.h"
  10.  
  11.  
  12. bool CheckUnique(std::vector <double> T) {
  13.     std::vector <double> temp = T;
  14.     std::sort(temp.begin(), temp.end());
  15.     auto last = std::unique(temp.begin(), temp.end());
  16.     temp.erase(last, temp.end());
  17.  
  18.     if (temp.size() == T.size())
  19.         return true;
  20.     else
  21.         return false;
  22. }
  23.  
  24. std::map <double, double> MakeDiscreteDistribution(std::vector <double> T) {
  25.     std::vector <double> temp = T;
  26.     std::sort(temp.begin(), temp.end());
  27.     auto last = std::unique(temp.begin(), temp.end());
  28.     temp.erase(last, temp.end());
  29.  
  30.     std::map <double, double> res;
  31.  
  32.     for (int i = 0; i < temp.size(); ++i) {
  33.         double prob = std::count(T.begin(), T.end(), temp[i]);
  34.         prob /= 100;
  35.         res.insert(std::make_pair(temp[i], prob));
  36.     }
  37.     return res;
  38. }
  39.  
  40. double ExpectedValue(std::map <double, double> T) {
  41.     std::map <double, double> ::iterator it = T.begin();
  42.     double res = 0;
  43.     for (it; it != T.end(); ++it) {
  44.         res += it->first * it->second;
  45.     }
  46.     return res;
  47. }
  48.  
  49. //среднее арифметическое (мат ожидание)
  50. double ArithmeticMean(std::vector <double> T) {
  51.     double sum_of_elems = std::accumulate(T.rbegin(), T.rend(), 0.0);
  52.     return sum_of_elems / T.size();
  53. }
  54.  
  55. //дисперсия
  56. double Variance(std::vector <double> T) {
  57.     std::vector <double> squareT;
  58.    
  59.     for (int i = 0; i < T.size(); ++i) {
  60.         //std::cout << T[i] << "\t\t" << std::pow(T[i], 2) << std::endl;
  61.         squareT.push_back(std::pow(T[i], 2));
  62.     }
  63.        
  64.  
  65.     long double E1 = ArithmeticMean(squareT);
  66.     long double E2 = ArithmeticMean(T);
  67.     E2 = std::pow(E2, 2);
  68.  
  69.     return E1 - E2;
  70. }
  71.  
  72. //среднеквадратичное отклонение
  73. double StandartDeviation(std::vector <double> T) {
  74.     return std::sqrt(Variance(T));
  75. }
  76.  
  77.  
  78. //коэффициент корреляции
  79. double СorrelationСoefficient(std::vector <double> X, std::vector <double> Y) {
  80.     double avgX = ArithmeticMean(X);
  81.     double avgY = ArithmeticMean(Y);
  82.     double cov = 0.0;
  83.     double devX, devY;
  84.     double sumX = 0.0;
  85.     double sumY = 0.0;
  86.  
  87.     for (int i = 0; i < X.size(); ++i) {
  88.         devX = X[i] - avgX;
  89.         devY = Y[i] - avgY;
  90.         cov += devX * devY;
  91.         sumX += std::pow(devX, 2);
  92.         sumY += std::pow(devY, 2);
  93.     }
  94.     return cov / std::sqrt(sumX * sumY);
  95. }
  96.  
  97. int main() {
  98.     std::vector <missile_data> data;
  99.     std::ifstream in("1.txt");
  100.     std::ofstream out("output.txt");
  101.  
  102.     for (int i = 0; i < 100; ++i) {
  103.         missile_data temp;
  104.         //1
  105.         in >> temp.n >> temp.pr_c >> temp.epr >> temp.pr_r >> temp.kim >> temp.dov >> temp.rbv;
  106.         //2
  107.         in >> temp.time_to_mp >> temp.rel_v >> temp.beta_ast >> temp.time_start_homing;
  108.         //3
  109.         in >> temp.mis_coord_n.x >> temp.mis_coord_n.y >> temp.mis_coord_n.z >> temp.mis_v_proj_n.x >> temp.mis_v_proj_n.y >> temp.mis_v_proj_n.z;
  110.         //4
  111.         in >> temp.yaw_angle >> temp.pitch_angle >> temp.bank_angle >> temp.angle_of_attack >> temp.flow_angle;
  112.         //5
  113.         in >> temp.v_obj >> temp.path_obj >> temp.pitch_obj >> temp.coord_n_obj.x >> temp.coord_n_obj.y >> temp.coord_n_obj.z;
  114.         //6
  115.         in >> temp.proj_mp_miss.x >> temp.proj_mp_miss.y >> temp.proj_mp_miss.z >> temp.rel_v_n >> temp.tau_kin;
  116.         //7
  117.         in >> temp.nc_y >> temp.nc_z >> temp.t_dov >> temp.t_bv >> temp.t_sbv;
  118.         //8
  119.         in >> temp.proj_nsm_miss.x >> temp.proj_nsm_miss.y >> temp.proj_nsm_miss.z >> temp.delta_V01 >> temp.delta_V02 >> temp.beta_y;
  120.         //9
  121.         in >> temp.from_n_to_apa.c11 >> temp.from_n_to_apa.c12 >> temp.from_n_to_apa.c13 >> temp.proj_dov_miss.x >> temp.proj_dov_miss.y >> temp.proj_dov_miss.z;
  122.         //10
  123.         in >> temp.bank >> temp.pitch >> temp.ant_course >> temp.delta_gamma.inf >> temp.delta_gamma.exec >> temp.delta_gamma.sum;
  124.         //11
  125.         in >> temp.from_n_to_apa.c21 >> temp.from_n_to_apa.c22 >> temp.from_n_to_apa.c23 >> temp.from_n_to_apa.c31 >> temp.from_n_to_apa.c32 >> temp.from_n_to_apa.c33;
  126.        
  127.  
  128.         std::cout << i + 1 << " : " << temp.mis_coord_n.x << "\n";
  129.         data.push_back(temp);
  130.     }
  131.  
  132.     for (int i = 0; i < 100; ++i) {
  133.         data[i].h = std::sqrt(std::pow(data[i].proj_mp_miss.x, 2) + std::pow(data[i].proj_mp_miss.y, 2) + std::pow(data[i].proj_mp_miss.z, 2));
  134.         if (1.0 < data[i].h && data[i].h <= 3.0) {
  135.             data[i].i = 2;
  136.         }
  137.         else {
  138.             if (3.0 < data[i].h && data[i].h <= 6.0) {
  139.                 data[i].i = 3;
  140.             }
  141.             else {
  142.                 if (6.0 < data[i].h && data[i].h <= 9.0) {
  143.                     data[i].i = 4;
  144.                 }
  145.                 else {
  146.                     if (9.0 < data[i].h && data[i].h <= 12.0) {
  147.                         data[i].i = 5;
  148.                     }
  149.                     else {
  150.                         if (12.0 < data[i].h && data[i].h <= 15.0) {
  151.                             data[i].i = 6;
  152.                         }
  153.                         else
  154.                             data[i].i = 1;
  155.                     }
  156.                 }
  157.             }
  158.         }
  159.     }
  160.     int count1 = 0;
  161.     int count2 = 0;
  162.     int count3 = 0;
  163.     int count4 = 0;
  164.     int count5 = 0;
  165.     int count6 = 0;
  166.  
  167.     for (int i = 0; i < 100; ++i) {
  168.         switch (data[i].i)
  169.         {
  170.         case 1:
  171.             count1++;
  172.             break;
  173.         case 2:
  174.             count2++;
  175.             break;
  176.         case 3:
  177.             count3++;
  178.             break;
  179.         case 4:
  180.             count4++;
  181.             break;
  182.         case 5:
  183.             count5++;
  184.             break;
  185.         case 6:
  186.             count6++;
  187.             break;
  188.         }
  189.     }
  190.     std::cout << "1 : " << count1 << std::endl;
  191.     std::cout << "2 : " << count2 << std::endl;
  192.     std::cout << "3 : " << count3 << std::endl;
  193.     std::cout << "4 : " << count4 << std::endl;
  194.     std::cout << "5 : " << count5 << std::endl;
  195.     std::cout << "6 : " << count6 << std::endl;
  196.  
  197.     std::vector <double> current_data;
  198.     std::vector <double> first_set;
  199.     std::vector <double> second_set;
  200.  
  201.     out << std::fixed << std::setprecision(3);
  202.  
  203.  
  204.  
  205.     //1 строка вывода
  206.     for (int i = 0; i < 100; ++i)
  207.         current_data.push_back(data[i].mis_coord_n.x);
  208.     out << ArithmeticMean(current_data) << "\t\t\t\t";
  209.     out << StandartDeviation(current_data) << "\t\t";
  210.     //вставить M(Dнак)
  211.     out << data[0].kim << std::endl;
  212.     current_data.clear();
  213.    
  214.     //2 строка вывода
  215.     for (int i = 0; i < 100; ++i)
  216.         current_data.push_back(data[i].mis_coord_n.y);
  217.     out << ArithmeticMean(current_data) << "\t\t\t\t";
  218.     out << StandartDeviation(current_data) << "\t\t";
  219.     current_data.clear();
  220.     for (int i = 0; i < 100; ++i)
  221.         current_data.push_back(std::sqrt(std::pow(data[i].mis_coord_n.x, 2) + std::pow(data[i].mis_coord_n.z, 2)));
  222.     out << ArithmeticMean(current_data) << "\t\t";
  223.     out << data[0].pr_r << std::endl;
  224.     current_data.clear();
  225.  
  226.     //3 строка вывода
  227.     for (int i = 0; i < 100; ++i)
  228.         current_data.push_back(data[i].mis_coord_n.z);
  229.     out << ArithmeticMean(current_data) << "\t\t\t\t";
  230.     out << StandartDeviation(current_data) << "\t\t";
  231.     current_data.clear();
  232.     // вставить M(Hз)
  233.     for (int i = 0; i < 100; ++i)
  234.         first_set.push_back(data[i].coord_n_obj.y);
  235.     for (int i = 0; i < 100; ++i)
  236.         second_set.push_back(std::sqrt(std::pow(data[i].mis_coord_n.x, 2) + std::pow(data[i].mis_coord_n.z, 2)));
  237.     out << ArithmeticMean(first_set) + 7.85 * std::pow(10, -8) * std::pow(ArithmeticMean(second_set), 2) << "\t\t";
  238.     first_set.clear();
  239.     second_set.clear();
  240.  
  241.     //конец Нз
  242.     out << data[0].pr_c << std::endl;
  243.     current_data.clear();
  244.  
  245.     //4 строка вывода
  246.     for (int i = 0; i < 100; ++i)
  247.         current_data.push_back(std::sqrt(std::pow(data[i].mis_v_proj_n.x, 2)
  248.                                         + std::pow(data[i].mis_v_proj_n.y, 2)
  249.                                         + std::pow(data[i].mis_v_proj_n.z, 2)));
  250.     out << ArithmeticMean(current_data) << "\t\t\t\t";
  251.     current_data.clear();
  252.  
  253.     for (int i = 0; i < 100; ++i)
  254.         current_data.push_back(data[i].v_obj);
  255.     out << ArithmeticMean(current_data) << "\t\t";
  256.     current_data.clear();
  257.  
  258.     for (int i = 0; i < 100; ++i)
  259.         current_data.push_back(data[i].rel_v);
  260.     out << ArithmeticMean(current_data) << "\t\t";
  261.     current_data.clear();
  262.     out << data[0].epr << std::endl;
  263.  
  264.     //5 строка вывода
  265.     for (int i = 0; i < 100; ++i)
  266.         current_data.push_back(data[i].proj_nsm_miss.y);
  267.     out << ArithmeticMean(current_data) << "\t\t\t\t";
  268.     out << StandartDeviation(current_data) << std::endl;
  269.     current_data.clear();
  270.  
  271.     //6 строка вывода
  272.     for (int i = 0; i < 100; ++i)
  273.         current_data.push_back(data[i].proj_nsm_miss.z);
  274.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  275.     out << StandartDeviation(current_data) << std::endl;
  276.     current_data.clear();
  277.  
  278.     //7 строка вывода
  279.     for (int i = 0; i < 100; ++i)
  280.         current_data.push_back(std::sqrt(std::pow(data[i].proj_nsm_miss.x, 2)
  281.                                         + std::pow(data[i].proj_nsm_miss.y, 2)
  282.                                         + std::pow(data[i].proj_nsm_miss.z, 2)));
  283.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  284.     out << StandartDeviation(current_data) << "\t\t";
  285.     current_data.clear();
  286.  
  287.     for (int i = 0; i < 100; ++i)
  288.         current_data.push_back(data[i].time_to_mp - data[i].time_start_homing);
  289.     out << ArithmeticMean(current_data) << "\t\t\t";
  290.     out << StandartDeviation(current_data) << std::endl;
  291.     current_data.clear();
  292.  
  293.     //8 строка вывода
  294.     for (int i = 0; i < 100; ++i)
  295.         current_data.push_back(data[i].proj_dov_miss.y);
  296.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  297.     out << StandartDeviation(current_data) << std::endl;
  298.     current_data.clear();
  299.  
  300.     //9 строка вывода
  301.     for (int i = 0; i < 100; ++i)
  302.         current_data.push_back(data[i].proj_dov_miss.z);
  303.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  304.     out << StandartDeviation(current_data) << std::endl;
  305.     current_data.clear();
  306.    
  307.     //10 строка вывода
  308.     for (int i = 0; i < 100; ++i)
  309.         current_data.push_back(std::sqrt(std::pow(data[i].proj_dov_miss.x, 2)
  310.                                         + std::pow(data[i].proj_dov_miss.y, 2)
  311.                                         + std::pow(data[i].proj_dov_miss.z, 2)));
  312.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  313.     out << StandartDeviation(current_data) << "\t\t";
  314.     current_data.clear();
  315.  
  316.     for (int i = 0; i < 100; ++i)
  317.         current_data.push_back(data[i].time_to_mp - data[i].t_dov);
  318.     out << ArithmeticMean(current_data) << "\t\t\t";
  319.     out << StandartDeviation(current_data) << std::endl;
  320.     current_data.clear();
  321.  
  322.     //11 строка вывода
  323.     for (int i = 0; i < 100; ++i)
  324.         current_data.push_back(std::sqrt(std::pow(data[i].proj_mp_miss.x, 2)
  325.                                         + std::pow(data[i].proj_mp_miss.y, 2)
  326.                                         + std::pow(data[i].proj_mp_miss.z, 2)));
  327.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  328.     out << StandartDeviation(current_data) << "\t\t";
  329.     current_data.clear();
  330.  
  331.     for (int i = 0; i < 100; ++i)
  332.         current_data.push_back(data[i].time_to_mp);
  333.     out << ArithmeticMean(current_data) << "\t\t\t";
  334.     out << StandartDeviation(current_data) << std::endl;
  335.     current_data.clear();
  336.  
  337.     //12 строка вывода
  338.     for (int i = 0; i < 100; ++i)
  339.         first_set.push_back(data[i].proj_mp_miss.y);
  340.     for (int i = 0; i < 100; ++i)
  341.         second_set.push_back(data[i].proj_mp_miss.z);
  342.     out << СorrelationСoefficient(first_set, second_set) << std::endl;
  343.     first_set.clear();
  344.     second_set.clear();
  345.  
  346.     //13 строка вывода
  347.     for (int i = 0; i < 100; ++i)
  348.         current_data.push_back(data[i].time_to_mp - data[i].t_bv);
  349.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  350.     out << StandartDeviation(current_data) << std::endl;
  351.     current_data.clear();
  352.  
  353.     //14 строка вывода
  354.     for (int i = 0; i < 100; ++i)
  355.         current_data.push_back(data[i].time_to_mp - data[i].t_sbv);
  356.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  357.     out << StandartDeviation(current_data) << std::endl;
  358.     current_data.clear();
  359.  
  360.     //15 строка вывода
  361.     for (int i = 0; i < 100; ++i)
  362.         current_data.push_back(data[i].angle_of_attack);
  363.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  364.     out << StandartDeviation(current_data) << std::endl;
  365.     current_data.clear();
  366.  
  367.     //16 строка вывода
  368.     for (int i = 0; i < 100; ++i)
  369.         current_data.push_back(data[i].delta_V01);
  370.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  371.     out << StandartDeviation(current_data) << std::endl;
  372.     current_data.clear();
  373.  
  374.     //17 строка вывода
  375.     for (int i = 0; i < 100; ++i)
  376.         current_data.push_back(data[i].delta_V02);
  377.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  378.     out << StandartDeviation(current_data) << std::endl;
  379.     current_data.clear();
  380.  
  381.     //18 строка вывода
  382.     out << "<<1.0 < h <= 3.0>>" << "\t\t" << count2 << "\t\t\t";
  383.     //вставить Nбв
  384.     out << std::endl;
  385.  
  386.     //19 строка вывода
  387.     for (int i = 0; i < 100; ++i)
  388.         if (data[i].i == 2)
  389.             current_data.push_back(data[i].delta_gamma.sum);
  390.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  391.     current_data.clear();
  392.  
  393.     for (int i = 0; i < 100; ++i)
  394.         if (data[i].i == 2)
  395.             current_data.push_back(data[i].delta_gamma.exec);
  396.     out << ArithmeticMean(current_data) << "\t\t";
  397.     current_data.clear();
  398.  
  399.     for (int i = 0; i < 100; ++i)
  400.         if (data[i].i == 2)
  401.             current_data.push_back(data[i].delta_gamma.inf);
  402.     out << ArithmeticMean(current_data) << std::endl;
  403.     current_data.clear();
  404.  
  405.     //20 строка вывода
  406.     for (int i = 0; i < 100; ++i)
  407.         if (data[i].i == 2)
  408.             current_data.push_back(data[i].delta_gamma.sum);
  409.     out << StandartDeviation(current_data) << "\t\t\t\t\t";
  410.     current_data.clear();
  411.  
  412.     for (int i = 0; i < 100; ++i)
  413.         if (data[i].i == 2)
  414.             first_set.push_back(data[i].delta_gamma.exec);
  415.     out << StandartDeviation(first_set) << "\t\t";
  416.  
  417.     for (int i = 0; i < 100; ++i)
  418.         if (data[i].i == 2)
  419.             second_set.push_back(data[i].delta_gamma.inf);
  420.     out << StandartDeviation(second_set) << "\t\t\t";
  421.  
  422.     out << СorrelationСoefficient(first_set, second_set) << std::endl;
  423.     first_set.clear();
  424.     second_set.clear();
  425.  
  426.     //21 строка вывода
  427.     out << "<<3.0 < h <= 6.0>>" << "\t\t" << count3 << "\t\t\t";
  428.     //вставить Nбв
  429.     out << std::endl;
  430.  
  431.     //22 строка вывода
  432.     for (int i = 0; i < 100; ++i)
  433.         if (data[i].i == 3)
  434.             current_data.push_back(data[i].delta_gamma.sum);
  435.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  436.     current_data.clear();
  437.  
  438.     for (int i = 0; i < 100; ++i)
  439.         if (data[i].i == 3)
  440.             current_data.push_back(data[i].delta_gamma.exec);
  441.     out << ArithmeticMean(current_data) << "\t\t";
  442.     current_data.clear();
  443.  
  444.     for (int i = 0; i < 100; ++i)
  445.         if (data[i].i == 3)
  446.             current_data.push_back(data[i].delta_gamma.inf);
  447.     out << ArithmeticMean(current_data) << std::endl;
  448.     current_data.clear();
  449.  
  450.     //23 строка вывода
  451.     for (int i = 0; i < 100; ++i)
  452.         if (data[i].i == 3)
  453.             current_data.push_back(data[i].delta_gamma.sum);
  454.     out << StandartDeviation(current_data) << "\t\t\t\t\t";
  455.     current_data.clear();
  456.  
  457.     for (int i = 0; i < 100; ++i)
  458.         if (data[i].i == 3)
  459.             first_set.push_back(data[i].delta_gamma.exec);
  460.     out << StandartDeviation(first_set) << "\t\t";
  461.  
  462.     for (int i = 0; i < 100; ++i)
  463.         if (data[i].i == 3)
  464.             second_set.push_back(data[i].delta_gamma.inf);
  465.     out << StandartDeviation(second_set) << "\t\t\t";
  466.  
  467.     out << СorrelationСoefficient(first_set, second_set) << std::endl;
  468.     first_set.clear();
  469.     second_set.clear();
  470.  
  471.     //24 строка вывода
  472.     out << "<<6.0 < h <= 9.0>>" << "\t\t" << count4 << "\t\t\t";
  473.     //вставить Nбв
  474.     out << std::endl;
  475.  
  476.     //25 строка вывода
  477.     for (int i = 0; i < 100; ++i)
  478.         if (data[i].i == 4)
  479.             current_data.push_back(data[i].delta_gamma.sum);
  480.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  481.     current_data.clear();
  482.  
  483.     for (int i = 0; i < 100; ++i)
  484.         if (data[i].i == 4)
  485.             current_data.push_back(data[i].delta_gamma.exec);
  486.     out << ArithmeticMean(current_data) << "\t\t";
  487.     current_data.clear();
  488.  
  489.     for (int i = 0; i < 100; ++i)
  490.         if (data[i].i == 4)
  491.             current_data.push_back(data[i].delta_gamma.inf);
  492.     out << ArithmeticMean(current_data) << std::endl;
  493.     current_data.clear();
  494.  
  495.     //26 строка вывода
  496.     for (int i = 0; i < 100; ++i)
  497.         if (data[i].i == 4)
  498.             current_data.push_back(data[i].delta_gamma.sum);
  499.     out << StandartDeviation(current_data) << "\t\t\t\t\t";
  500.     current_data.clear();
  501.  
  502.     for (int i = 0; i < 100; ++i)
  503.         if (data[i].i == 4)
  504.             first_set.push_back(data[i].delta_gamma.exec);
  505.     out << StandartDeviation(first_set) << "\t\t";
  506.  
  507.     for (int i = 0; i < 100; ++i)
  508.         if (data[i].i == 4)
  509.             second_set.push_back(data[i].delta_gamma.inf);
  510.     out << StandartDeviation(second_set) << "\t\t\t";
  511.  
  512.     out << СorrelationСoefficient(first_set, second_set) << std::endl;
  513.     first_set.clear();
  514.     second_set.clear();
  515.  
  516.     //27 строка вывода
  517.     out << "<<9.0 < h <= 12.0>>" << "\t\t" << count5 << "\t\t\t";
  518.     //вставить Nбв
  519.     out << std::endl;
  520.  
  521.     //28 строка вывода
  522.     for (int i = 0; i < 100; ++i)
  523.         if (data[i].i == 5)
  524.             current_data.push_back(data[i].delta_gamma.sum);
  525.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  526.     current_data.clear();
  527.  
  528.     for (int i = 0; i < 100; ++i)
  529.         if (data[i].i == 5)
  530.             current_data.push_back(data[i].delta_gamma.exec);
  531.     out << ArithmeticMean(current_data) << "\t\t";
  532.     current_data.clear();
  533.  
  534.     for (int i = 0; i < 100; ++i)
  535.         if (data[i].i == 5)
  536.             current_data.push_back(data[i].delta_gamma.inf);
  537.     out << ArithmeticMean(current_data) << std::endl;
  538.     current_data.clear();
  539.  
  540.     //29 строка вывода
  541.     for (int i = 0; i < 100; ++i)
  542.         if (data[i].i == 5)
  543.             current_data.push_back(data[i].delta_gamma.sum);
  544.     out << StandartDeviation(current_data) << "\t\t\t\t\t";
  545.     current_data.clear();
  546.  
  547.     for (int i = 0; i < 100; ++i)
  548.         if (data[i].i == 5)
  549.             first_set.push_back(data[i].delta_gamma.exec);
  550.     out << StandartDeviation(first_set) << "\t\t";
  551.  
  552.     for (int i = 0; i < 100; ++i)
  553.         if (data[i].i == 5)
  554.             second_set.push_back(data[i].delta_gamma.inf);
  555.     out << StandartDeviation(second_set) << "\t\t\t";
  556.  
  557.     out << СorrelationСoefficient(first_set, second_set) << std::endl;
  558.     first_set.clear();
  559.     second_set.clear();
  560.  
  561.     //30 строка вывода
  562.     out << "<<12.0 < h <= 15.0>>" << "\t" << count6 << "\t\t\t";
  563.     //вставить Nбв
  564.     out << std::endl;
  565.  
  566.     //31 строка вывода
  567.     for (int i = 0; i < 100; ++i)
  568.         if (data[i].i == 6)
  569.             current_data.push_back(data[i].delta_gamma.sum);
  570.     out << ArithmeticMean(current_data) << "\t\t\t\t\t";
  571.     current_data.clear();
  572.  
  573.     for (int i = 0; i < 100; ++i)
  574.         if (data[i].i == 6)
  575.             current_data.push_back(data[i].delta_gamma.exec);
  576.     out << ArithmeticMean(current_data) << "\t\t";
  577.     current_data.clear();
  578.  
  579.     for (int i = 0; i < 100; ++i)
  580.         if (data[i].i == 6)
  581.             current_data.push_back(data[i].delta_gamma.inf);
  582.     out << ArithmeticMean(current_data) << std::endl;
  583.     current_data.clear();
  584.  
  585.     //32 строка вывода
  586.     for (int i = 0; i < 100; ++i)
  587.         if (data[i].i == 6)
  588.             current_data.push_back(data[i].delta_gamma.sum);
  589.     out << StandartDeviation(current_data) << "\t\t\t\t\t";
  590.     current_data.clear();
  591.  
  592.     for (int i = 0; i < 100; ++i)
  593.         if (data[i].i == 6)
  594.             first_set.push_back(data[i].delta_gamma.exec);
  595.     out << StandartDeviation(first_set) << "\t\t";
  596.  
  597.     for (int i = 0; i < 100; ++i)
  598.         if (data[i].i == 6)
  599.             second_set.push_back(data[i].delta_gamma.inf);
  600.     out << StandartDeviation(second_set) << "\t\t\t";
  601.  
  602.     out << СorrelationСoefficient(first_set, second_set) << std::endl;
  603.     first_set.clear();
  604.     second_set.clear();
  605.  
  606.     //33 строка вывода
  607.     out << data.size() << "\t\t\t\t\t\t";
  608.     int counter = 0;
  609.     for (int i = 0; i < data.size(); ++i)
  610.         if (data[i].h < 100.0)
  611.             ++counter;
  612.     out << counter << std::endl;
  613.     //34 строка вывода
  614.     counter = 0;
  615.     for (int i = 0; i < data.size(); ++i)
  616.         if (data[i].dov)
  617.             ++counter;
  618.     out << counter << "\t\t\t\t\t\t";
  619.     counter = 0;
  620.  
  621.     for (int i = 0; i < data.size(); ++i)
  622.         if (data[i].h < 30.0)
  623.             ++counter;
  624.     out << counter << std::endl;
  625.     //35 строка вывода
  626.     counter = 0;
  627.     for (int i = 0; i < data.size(); ++i)
  628.         if (data[i].rbv)
  629.             ++counter;
  630.     out << counter << "\t\t\t\t\t\t";
  631.     counter = 0;
  632.  
  633.     for (int i = 0; i < data.size(); ++i)
  634.         if (data[i].h < 0.6)
  635.             ++counter;
  636.     out << counter << std::endl;
  637.  
  638.     //36 строка вывода
  639.     //добавить Nбв
  640.     out << std::endl;
  641.     //37 строка вывода
  642.     counter = 0;
  643.     for (int i = 0; i < data.size(); ++i)
  644.         if (data[i].t_sbv >= data[i].t_bv)
  645.             counter++;
  646.     out << "\t\t\t\t\t\t" << counter;
  647.  
  648. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement