Skip to content

Instantly share code, notes, and snippets.

@mosolovsa
Created February 22, 2023 05:44
Show Gist options
  • Save mosolovsa/ea7705bf2f070a97684216c5c4b93d45 to your computer and use it in GitHub Desktop.
Save mosolovsa/ea7705bf2f070a97684216c5c4b93d45 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"outputs": [],
"source": [
"import math\n",
"\n",
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"pd.options.display.float_format = '{:.15f}'.format"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/plain": " \\t\\t\\t\\t\\tРасчет вносимой смеси № 2 от 20.02.2023 (09:12)\\t \\\n0 NaN \n1 CRC-код расчетного модуля: 0xD35680EC \n2 NaN \n3 Без коррекции по давлению \n4 Без коррекции по температуре \n5 NaN \n6 Тип прибора: потоковый \n7 Расчет неопределенностей: по полной матрице \n8 NaN \n9 NaN \n10 \n11 \n12 \n13 \n14 \n15 NaN \n16 NaN \n17 Концентрация вносимая \n18 Расширен.неопр.вносимая \n19 Концентрация итоговая \n20 Расширен.неопр. общая \n21 NaN \n22 ФХП (Сгорание при температуре 25°C,(давление 1... \n23 Молярная масса газа, Кг/кмоль: \n24 Молярная УТС низшая, кДж/моль: \n25 Молярная УТС высшая, кДж/моль: \n26 Массовая УТС низшая, МДж/кг: \n27 Массовая УТС высшая, МДж/кг: \n28 NaN \n29 Измерение при температуре: \n30 Объемная УТС низшая, МДж/м3 \n31 Объемная УТС высшая, МДж/м3 \n32 Число Воббе низшее, МДж/м3 \n33 Число Воббе высшее, МДж/м3 \n34 Относительная плотность \n35 Абсолютная плотность, кг/м3 \n36 Коэффициент сжимаемости \n37 NaN \n38 Метановое число ГОСТ34744-2020: \n\n Unnamed: 1 Unnamed: 2 Unnamed: 3 \\\n0 NaN NaN NaN \n1 NaN NaN NaN \n2 NaN NaN NaN \n3 NaN NaN NaN \n4 NaN NaN NaN \n5 NaN NaN NaN \n6 NaN NaN NaN \n7 NaN NaN NaN \n8 NaN NaN NaN \n9 NaN NaN NaN \n10 NaN NaN NaN \n11 NaN NaN NaN \n12 NaN NaN NaN \n13 NaN NaN NaN \n14 NaN NaN NaN \n15 NaN NaN NaN \n16 Метан Этан Пропан \n17 93.756210327148438 3.483211040496826 1.345435976982117 \n18 0.035329099744558 0.069063998758793 0.042139999568462 \n19 93.878242301355783 3.487744746780063 1.347187180532983 \n20 0.074080027639866 0.140809786756455 0.082031229082257 \n21 NaN NaN NaN \n22 NaN NaN NaN \n23 NaN NaN 17.246784210205082 \n24 NaN NaN 839.316894531250000 \n25 NaN NaN 929.632019042968750 \n26 NaN NaN 48.665122985839837 \n27 NaN NaN 53.901756286621087 \n28 NaN NaN NaN \n29 NaN NaN 20°C \n30 NaN NaN 34.966758728027337 \n31 NaN NaN 38.729373931884773 \n32 NaN NaN 45.274139404296882 \n33 NaN NaN 50.145885467529297 \n34 NaN NaN 0.596499860286713 \n35 NaN NaN 0.718517839908600 \n36 NaN NaN 0.997845172882080 \n37 NaN NaN NaN \n38 NaN NaN 81.236381530761719 \n\n Unnamed: 4 Unnamed: 5 Unnamed: 6 Unnamed: 7 \\\n0 NaN NaN NaN NaN \n1 NaN NaN NaN NaN \n2 NaN NaN NaN NaN \n3 NaN NaN NaN NaN \n4 NaN NaN NaN NaN \n5 NaN NaN NaN NaN \n6 NaN NaN NaN NaN \n7 NaN NaN NaN NaN \n8 NaN NaN NaN NaN \n9 NaN NaN NaN NaN \n10 NaN NaN NaN NaN \n11 NaN NaN NaN NaN \n12 NaN NaN NaN NaN \n13 NaN NaN NaN NaN \n14 NaN NaN NaN NaN \n15 NaN NaN NaN NaN \n16 i-Бутан н-Бутан i-Пентан н-Пентан \n17 0.097663000226021 0.114179998636246 0.032352998852730 0.031412001699209 \n18 0.003411999903619 0.003121499903500 0.001554999966174 0.001514000003226 \n19 0.097790117231742 0.114328613971699 0.032395109133294 0.031452887189011 \n20 0.007067406959755 0.008059716741972 0.003143706561549 0.003087173246156 \n21 NaN NaN NaN NaN \n22 Неопределенность NaN NaN NaN \n23 0.052804909646511 NaN NaN NaN \n24 2.421447515487671 NaN NaN NaN \n25 2.630726099014282 NaN NaN NaN \n26 0.047061156481504 NaN NaN NaN \n27 0.051586348563433 NaN NaN NaN \n28 NaN NaN NaN NaN \n29 Неопределенность: NaN NaN NaN \n30 0.101416848599911 NaN NaN NaN \n31 0.110195182263851 NaN NaN NaN \n32 0.068761348724365 NaN NaN NaN \n33 0.073335237801075 NaN NaN NaN \n34 0.001835637958720 NaN NaN NaN \n35 0.002211008919403 NaN NaN NaN \n36 0.000088743334345 NaN NaN NaN \n37 NaN NaN NaN NaN \n38 NaN NaN NaN NaN \n\n Unnamed: 8 Unnamed: 9 Unnamed: 10 \n0 NaN NaN NaN \n1 NaN NaN NaN \n2 NaN NaN NaN \n3 NaN NaN NaN \n4 NaN NaN NaN \n5 NaN NaN NaN \n6 NaN NaN NaN \n7 NaN NaN NaN \n8 NaN NaN NaN \n9 NaN NaN NaN \n10 NaN NaN NaN \n11 NaN NaN NaN \n12 NaN NaN NaN \n13 NaN NaN NaN \n14 NaN NaN NaN \n15 NaN NaN NaN \n16 Гексаны Азот СО2 \n17 0.021238999441266 0.496784001588821 0.491519004106522 \n18 0.001642000046559 0.011405999772251 0.014316000044346 \n19 0.021266643871677 0.497430609768237 0.492158759427500 \n20 0.003126664466355 0.021197223949531 0.030729524962611 \n21 NaN NaN NaN \n22 NaN NaN NaN \n23 NaN NaN NaN \n24 NaN NaN NaN \n25 NaN NaN NaN \n26 NaN NaN NaN \n27 NaN NaN NaN \n28 NaN NaN NaN \n29 NaN NaN NaN \n30 NaN NaN NaN \n31 NaN NaN NaN \n32 NaN NaN NaN \n33 NaN NaN NaN \n34 NaN NaN NaN \n35 NaN NaN NaN \n36 NaN NaN NaN \n37 NaN NaN NaN \n38 NaN NaN NaN ",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>\\t\\t\\t\\t\\tРасчет вносимой смеси № 2 от 20.02.2023 (09:12)\\t</th>\n <th>Unnamed: 1</th>\n <th>Unnamed: 2</th>\n <th>Unnamed: 3</th>\n <th>Unnamed: 4</th>\n <th>Unnamed: 5</th>\n <th>Unnamed: 6</th>\n <th>Unnamed: 7</th>\n <th>Unnamed: 8</th>\n <th>Unnamed: 9</th>\n <th>Unnamed: 10</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>1</th>\n <td>CRC-код расчетного модуля: 0xD35680EC</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>2</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>3</th>\n <td>Без коррекции по давлению</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>4</th>\n <td>Без коррекции по температуре</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>5</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>6</th>\n <td>Тип прибора: потоковый</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>7</th>\n <td>Расчет неопределенностей: по полной матрице</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>8</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>9</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>10</th>\n <td></td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>11</th>\n <td></td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>12</th>\n <td></td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>13</th>\n <td></td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>14</th>\n <td></td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>15</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>16</th>\n <td>NaN</td>\n <td>Метан</td>\n <td>Этан</td>\n <td>Пропан</td>\n <td>i-Бутан</td>\n <td>н-Бутан</td>\n <td>i-Пентан</td>\n <td>н-Пентан</td>\n <td>Гексаны</td>\n <td>Азот</td>\n <td>СО2</td>\n </tr>\n <tr>\n <th>17</th>\n <td>Концентрация вносимая</td>\n <td>93.756210327148438</td>\n <td>3.483211040496826</td>\n <td>1.345435976982117</td>\n <td>0.097663000226021</td>\n <td>0.114179998636246</td>\n <td>0.032352998852730</td>\n <td>0.031412001699209</td>\n <td>0.021238999441266</td>\n <td>0.496784001588821</td>\n <td>0.491519004106522</td>\n </tr>\n <tr>\n <th>18</th>\n <td>Расширен.неопр.вносимая</td>\n <td>0.035329099744558</td>\n <td>0.069063998758793</td>\n <td>0.042139999568462</td>\n <td>0.003411999903619</td>\n <td>0.003121499903500</td>\n <td>0.001554999966174</td>\n <td>0.001514000003226</td>\n <td>0.001642000046559</td>\n <td>0.011405999772251</td>\n <td>0.014316000044346</td>\n </tr>\n <tr>\n <th>19</th>\n <td>Концентрация итоговая</td>\n <td>93.878242301355783</td>\n <td>3.487744746780063</td>\n <td>1.347187180532983</td>\n <td>0.097790117231742</td>\n <td>0.114328613971699</td>\n <td>0.032395109133294</td>\n <td>0.031452887189011</td>\n <td>0.021266643871677</td>\n <td>0.497430609768237</td>\n <td>0.492158759427500</td>\n </tr>\n <tr>\n <th>20</th>\n <td>Расширен.неопр. общая</td>\n <td>0.074080027639866</td>\n <td>0.140809786756455</td>\n <td>0.082031229082257</td>\n <td>0.007067406959755</td>\n <td>0.008059716741972</td>\n <td>0.003143706561549</td>\n <td>0.003087173246156</td>\n <td>0.003126664466355</td>\n <td>0.021197223949531</td>\n <td>0.030729524962611</td>\n </tr>\n <tr>\n <th>21</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>22</th>\n <td>ФХП (Сгорание при температуре 25°C,(давление 1...</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>Неопределенность</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>23</th>\n <td>Молярная масса газа, Кг/кмоль:</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>17.246784210205082</td>\n <td>0.052804909646511</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>24</th>\n <td>Молярная УТС низшая, кДж/моль:</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>839.316894531250000</td>\n <td>2.421447515487671</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>25</th>\n <td>Молярная УТС высшая, кДж/моль:</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>929.632019042968750</td>\n <td>2.630726099014282</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>26</th>\n <td>Массовая УТС низшая, МДж/кг:</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>48.665122985839837</td>\n <td>0.047061156481504</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>27</th>\n <td>Массовая УТС высшая, МДж/кг:</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>53.901756286621087</td>\n <td>0.051586348563433</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>28</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>29</th>\n <td>Измерение при температуре:</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>20°C</td>\n <td>Неопределенность:</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>30</th>\n <td>Объемная УТС низшая, МДж/м3</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>34.966758728027337</td>\n <td>0.101416848599911</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>31</th>\n <td>Объемная УТС высшая, МДж/м3</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>38.729373931884773</td>\n <td>0.110195182263851</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>32</th>\n <td>Число Воббе низшее, МДж/м3</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>45.274139404296882</td>\n <td>0.068761348724365</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>33</th>\n <td>Число Воббе высшее, МДж/м3</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>50.145885467529297</td>\n <td>0.073335237801075</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>34</th>\n <td>Относительная плотность</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>0.596499860286713</td>\n <td>0.001835637958720</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>35</th>\n <td>Абсолютная плотность, кг/м3</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>0.718517839908600</td>\n <td>0.002211008919403</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>36</th>\n <td>Коэффициент сжимаемости</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>0.997845172882080</td>\n <td>0.000088743334345</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>37</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>38</th>\n <td>Метановое число ГОСТ34744-2020:</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>81.236381530761719</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"xls_name = 'Подробные данные расчета по вводным данным - метан по анализу (смесь 2).xls'\n",
"# xls_name = 'Подробные данные расчета по вводным данным - метан по анализу (смесь 1).xls'\n",
"xls_data = pd.read_excel(xls_name)\n",
"xls_data"
]
},
{
"cell_type": "code",
"execution_count": 3,
"outputs": [
{
"data": {
"text/plain": "Вещества: Метан Этан Пропан \\\nСырая C 93.756210327148438 3.483211040496826 1.345435976982117 \nСырая U 0.035329099744558 0.069063998758793 0.042139999568462 \nИтоговая C 93.878242301355783 3.487744746780063 1.347187180532983 \nИтоговая U 0.074080027639866 0.140809786756455 0.082031229082257 \n\nВещества: i-Бутан н-Бутан i-Пентан \\\nСырая C 0.097663000226021 0.114179998636246 0.032352998852730 \nСырая U 0.003411999903619 0.003121499903500 0.001554999966174 \nИтоговая C 0.097790117231742 0.114328613971699 0.032395109133294 \nИтоговая U 0.007067406959755 0.008059716741972 0.003143706561549 \n\nВещества: н-Пентан Гексаны Азот \\\nСырая C 0.031412001699209 0.021238999441266 0.496784001588821 \nСырая U 0.001514000003226 0.001642000046559 0.011405999772251 \nИтоговая C 0.031452887189011 0.021266643871677 0.497430609768237 \nИтоговая U 0.003087173246156 0.003126664466355 0.021197223949531 \n\nВещества: СО2 \nСырая C 0.491519004106522 \nСырая U 0.014316000044346 \nИтоговая C 0.492158759427500 \nИтоговая U 0.030729524962611 ",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th>Вещества:</th>\n <th>Метан</th>\n <th>Этан</th>\n <th>Пропан</th>\n <th>i-Бутан</th>\n <th>н-Бутан</th>\n <th>i-Пентан</th>\n <th>н-Пентан</th>\n <th>Гексаны</th>\n <th>Азот</th>\n <th>СО2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Сырая C</th>\n <td>93.756210327148438</td>\n <td>3.483211040496826</td>\n <td>1.345435976982117</td>\n <td>0.097663000226021</td>\n <td>0.114179998636246</td>\n <td>0.032352998852730</td>\n <td>0.031412001699209</td>\n <td>0.021238999441266</td>\n <td>0.496784001588821</td>\n <td>0.491519004106522</td>\n </tr>\n <tr>\n <th>Сырая U</th>\n <td>0.035329099744558</td>\n <td>0.069063998758793</td>\n <td>0.042139999568462</td>\n <td>0.003411999903619</td>\n <td>0.003121499903500</td>\n <td>0.001554999966174</td>\n <td>0.001514000003226</td>\n <td>0.001642000046559</td>\n <td>0.011405999772251</td>\n <td>0.014316000044346</td>\n </tr>\n <tr>\n <th>Итоговая C</th>\n <td>93.878242301355783</td>\n <td>3.487744746780063</td>\n <td>1.347187180532983</td>\n <td>0.097790117231742</td>\n <td>0.114328613971699</td>\n <td>0.032395109133294</td>\n <td>0.031452887189011</td>\n <td>0.021266643871677</td>\n <td>0.497430609768237</td>\n <td>0.492158759427500</td>\n </tr>\n <tr>\n <th>Итоговая U</th>\n <td>0.074080027639866</td>\n <td>0.140809786756455</td>\n <td>0.082031229082257</td>\n <td>0.007067406959755</td>\n <td>0.008059716741972</td>\n <td>0.003143706561549</td>\n <td>0.003087173246156</td>\n <td>0.003126664466355</td>\n <td>0.021197223949531</td>\n <td>0.030729524962611</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# достаем из известных ячеек xls данные и устанавливаем подписи\n",
"col_names = xls_data.iloc[16, 1:]\n",
"col_names.name = 'Вещества:'\n",
"input_df = xls_data.iloc[17:21, 1:]\n",
"input_df = input_df.set_axis(col_names, axis=1, inplace=False)\n",
"input_df = input_df.set_axis(['Сырая C', 'Сырая U', 'Итоговая C', 'Итоговая U'], axis=0, inplace=False)\n",
"input_df"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 4,
"outputs": [
{
"data": {
"text/plain": "Вещества: Метан Этан Пропан \\\nСырая C 0.937562103271484 0.034832110404968 0.013454359769821 \nСырая u 0.000176645498723 0.000345319993794 0.000210699997842 \nИтоговая C 0.938782423013558 0.034877447467801 0.013471871805330 \nИтоговая u 0.000370400138199 0.000704048933782 0.000410156145411 \n\nВещества: i-Бутан н-Бутан i-Пентан \\\nСырая C 0.000976630002260 0.001141799986362 0.000323529988527 \nСырая u 0.000017059999518 0.000015607499518 0.000007774999831 \nИтоговая C 0.000977901172317 0.001143286139717 0.000323951091333 \nИтоговая u 0.000035337034799 0.000040298583710 0.000015718532808 \n\nВещества: н-Пентан Гексаны Азот \\\nСырая C 0.000314120016992 0.000212389994413 0.004967840015888 \nСырая u 0.000007570000016 0.000008210000233 0.000057029998861 \nИтоговая C 0.000314528871890 0.000212666438717 0.004974306097682 \nИтоговая u 0.000015435866231 0.000015633322332 0.000105986119748 \n\nВещества: СО2 \nСырая C 0.004915190041065 \nСырая u 0.000071580000222 \nИтоговая C 0.004921587594275 \nИтоговая u 0.000153647624813 ",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th>Вещества:</th>\n <th>Метан</th>\n <th>Этан</th>\n <th>Пропан</th>\n <th>i-Бутан</th>\n <th>н-Бутан</th>\n <th>i-Пентан</th>\n <th>н-Пентан</th>\n <th>Гексаны</th>\n <th>Азот</th>\n <th>СО2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Сырая C</th>\n <td>0.937562103271484</td>\n <td>0.034832110404968</td>\n <td>0.013454359769821</td>\n <td>0.000976630002260</td>\n <td>0.001141799986362</td>\n <td>0.000323529988527</td>\n <td>0.000314120016992</td>\n <td>0.000212389994413</td>\n <td>0.004967840015888</td>\n <td>0.004915190041065</td>\n </tr>\n <tr>\n <th>Сырая u</th>\n <td>0.000176645498723</td>\n <td>0.000345319993794</td>\n <td>0.000210699997842</td>\n <td>0.000017059999518</td>\n <td>0.000015607499518</td>\n <td>0.000007774999831</td>\n <td>0.000007570000016</td>\n <td>0.000008210000233</td>\n <td>0.000057029998861</td>\n <td>0.000071580000222</td>\n </tr>\n <tr>\n <th>Итоговая C</th>\n <td>0.938782423013558</td>\n <td>0.034877447467801</td>\n <td>0.013471871805330</td>\n <td>0.000977901172317</td>\n <td>0.001143286139717</td>\n <td>0.000323951091333</td>\n <td>0.000314528871890</td>\n <td>0.000212666438717</td>\n <td>0.004974306097682</td>\n <td>0.004921587594275</td>\n </tr>\n <tr>\n <th>Итоговая u</th>\n <td>0.000370400138199</td>\n <td>0.000704048933782</td>\n <td>0.000410156145411</td>\n <td>0.000035337034799</td>\n <td>0.000040298583710</td>\n <td>0.000015718532808</td>\n <td>0.000015435866231</td>\n <td>0.000015633322332</td>\n <td>0.000105986119748</td>\n <td>0.000153647624813</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# оперируем молярными долями и стандартными неопределенностями (для перевода U с k = 2 в u делим на 2)\n",
"calculated = pd.concat([\n",
" input_df.loc['Сырая C']/100,\n",
" input_df.loc['Сырая U']/200,\n",
" input_df.loc['Итоговая C']/100,\n",
" input_df.loc['Итоговая U']/200,\n",
"], axis=1).T\n",
"calculated.rename(index={'Сырая U': 'Сырая u', 'Итоговая U': 'Итоговая u'})"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 5,
"outputs": [],
"source": [
"Hc_and_uHc_25 = np.array([\n",
" ['Метан', 890.58, 0.19],\n",
" ['Этан', 1560.69, 0.51],\n",
" ['Пропан', 2219.17, 0.51],\n",
" ['i-Бутан', 2868.20, 0.72],\n",
" ['н-Бутан', 2877.40, 0.72],\n",
" ['i-Пентан', 3528.83, 0.23],\n",
" ['н-Пентан', 3535.77, 0.23],\n",
" ['Гексаны', 4194.95, 0.32],\n",
" ['Азот', 0.0, 0.0],\n",
" ['СО2', 0.0, 0.0]\n",
"])\n",
"Hc_and_uHc_25_df = pd.DataFrame(np.array(Hc_and_uHc_25[:, 1:], dtype=float), index=Hc_and_uHc_25[:, 0], columns=['Hc', 'u(Hc)'])"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 6,
"outputs": [
{
"data": {
"text/plain": " Метан Этан Пропан \\\nСырая C 0.937562103271484 0.034832110404968 0.013454359769821 \nСырая U 0.000176645498723 0.000345319993794 0.000210699997842 \nИтоговая C 0.938782423013558 0.034877447467801 0.013471871805330 \nИтоговая U 0.000370400138199 0.000704048933782 0.000410156145411 \nHc 890.580000000000041 1560.690000000000055 2219.170000000000073 \nu(Hc) 0.190000000000000 0.510000000000000 0.510000000000000 \n\n i-Бутан н-Бутан i-Пентан \\\nСырая C 0.000976630002260 0.001141799986362 0.000323529988527 \nСырая U 0.000017059999518 0.000015607499518 0.000007774999831 \nИтоговая C 0.000977901172317 0.001143286139717 0.000323951091333 \nИтоговая U 0.000035337034799 0.000040298583710 0.000015718532808 \nHc 2868.199999999999818 2877.400000000000091 3528.829999999999927 \nu(Hc) 0.720000000000000 0.720000000000000 0.230000000000000 \n\n н-Пентан Гексаны Азот \\\nСырая C 0.000314120016992 0.000212389994413 0.004967840015888 \nСырая U 0.000007570000016 0.000008210000233 0.000057029998861 \nИтоговая C 0.000314528871890 0.000212666438717 0.004974306097682 \nИтоговая U 0.000015435866231 0.000015633322332 0.000105986119748 \nHc 3535.769999999999982 4194.949999999999818 0.000000000000000 \nu(Hc) 0.230000000000000 0.320000000000000 0.000000000000000 \n\n СО2 \nСырая C 0.004915190041065 \nСырая U 0.000071580000222 \nИтоговая C 0.004921587594275 \nИтоговая U 0.000153647624813 \nHc 0.000000000000000 \nu(Hc) 0.000000000000000 ",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Метан</th>\n <th>Этан</th>\n <th>Пропан</th>\n <th>i-Бутан</th>\n <th>н-Бутан</th>\n <th>i-Пентан</th>\n <th>н-Пентан</th>\n <th>Гексаны</th>\n <th>Азот</th>\n <th>СО2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Сырая C</th>\n <td>0.937562103271484</td>\n <td>0.034832110404968</td>\n <td>0.013454359769821</td>\n <td>0.000976630002260</td>\n <td>0.001141799986362</td>\n <td>0.000323529988527</td>\n <td>0.000314120016992</td>\n <td>0.000212389994413</td>\n <td>0.004967840015888</td>\n <td>0.004915190041065</td>\n </tr>\n <tr>\n <th>Сырая U</th>\n <td>0.000176645498723</td>\n <td>0.000345319993794</td>\n <td>0.000210699997842</td>\n <td>0.000017059999518</td>\n <td>0.000015607499518</td>\n <td>0.000007774999831</td>\n <td>0.000007570000016</td>\n <td>0.000008210000233</td>\n <td>0.000057029998861</td>\n <td>0.000071580000222</td>\n </tr>\n <tr>\n <th>Итоговая C</th>\n <td>0.938782423013558</td>\n <td>0.034877447467801</td>\n <td>0.013471871805330</td>\n <td>0.000977901172317</td>\n <td>0.001143286139717</td>\n <td>0.000323951091333</td>\n <td>0.000314528871890</td>\n <td>0.000212666438717</td>\n <td>0.004974306097682</td>\n <td>0.004921587594275</td>\n </tr>\n <tr>\n <th>Итоговая U</th>\n <td>0.000370400138199</td>\n <td>0.000704048933782</td>\n <td>0.000410156145411</td>\n <td>0.000035337034799</td>\n <td>0.000040298583710</td>\n <td>0.000015718532808</td>\n <td>0.000015435866231</td>\n <td>0.000015633322332</td>\n <td>0.000105986119748</td>\n <td>0.000153647624813</td>\n </tr>\n <tr>\n <th>Hc</th>\n <td>890.580000000000041</td>\n <td>1560.690000000000055</td>\n <td>2219.170000000000073</td>\n <td>2868.199999999999818</td>\n <td>2877.400000000000091</td>\n <td>3528.829999999999927</td>\n <td>3535.769999999999982</td>\n <td>4194.949999999999818</td>\n <td>0.000000000000000</td>\n <td>0.000000000000000</td>\n </tr>\n <tr>\n <th>u(Hc)</th>\n <td>0.190000000000000</td>\n <td>0.510000000000000</td>\n <td>0.510000000000000</td>\n <td>0.720000000000000</td>\n <td>0.720000000000000</td>\n <td>0.230000000000000</td>\n <td>0.230000000000000</td>\n <td>0.320000000000000</td>\n <td>0.000000000000000</td>\n <td>0.000000000000000</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"calculated = pd.concat([calculated, Hc_and_uHc_25_df.T])\n",
"calculated"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"Расчет молярной массы по формуле (5), табличные значения в таблице 3 ГОСТ31369-2021 на стр.18:\n",
"$$M = \\sum_{j=1}^{N} x_j M_{j}$$"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": 7,
"outputs": [
{
"data": {
"text/plain": "929.6320103671185"
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# в xls = 929.632019042968750\n",
"sum(calculated.loc[\"Итоговая C\"] * calculated.loc[\"Hc\"])"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"Для случая, когда компонентный состав определен методом нормализации и известны ненормализованные значения молярной доли ком понентов и их неопределенности, полную матрицу коэффициентов корреляции значений молярной доли $r (x_i, x_j)$ вычисляют по формуле (24):\n",
"$$ r(x_i, x_j) = \\frac {u(x_i, x_j)} {u(x_i) \\cdot u(x_j)} $$\n",
"$$ u(x_i, x_j) = \\frac {-x_i u^2(x^{*}_{j}) - x_j u^2(x^{*}_{i}) + x_i x_j \\sum_{k=1}^{N} u^{2} (x^{*}_{k}) } { (\\sum_{k=1}^{N} x^{*}_{k})^2 } $$\n",
"отдельно рассчитаем:\n",
"$$ \\sum_{k=1}^{N} x^{*}_{k} = sum\\_x\\_star $$\n",
"$$ \\sum_{k=1}^{N} u^{2} (x^{*}_{k}) = sum\\_of\\_u\\_star\\_squared $$"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": 8,
"outputs": [],
"source": [
"N = len(calculated.values[0])\n",
"sum_of_u_star_squared = sum(calculated.loc[\"Сырая U\"] * calculated.loc[\"Сырая U\"])\n",
"squared_sum_x_star = sum(calculated.loc[\"Сырая C\"]) ** 2\n",
"u_xi_xj = np.zeros(shape=[10, 10])\n",
"rij = np.zeros(shape=[10, 10])\n",
"for i in range(N):\n",
" for j in range(N):\n",
" # достаем все данные для i-ого и j-ого веществ из \"матрицы\", обращаясь к данным по текстовому имени \"строки\" матрицы\n",
" xi = calculated.loc[\"Итоговая C\"].values[i]\n",
" xj = calculated.loc[\"Итоговая C\"].values[j]\n",
" xi_star = calculated.loc[\"Сырая C\"].values[i]\n",
" xj_star = calculated.loc[\"Сырая C\"].values[j]\n",
" u_xi = calculated.loc[\"Итоговая U\"].values[i]\n",
" u_xj = calculated.loc[\"Итоговая U\"].values[j]\n",
" u_xi_star = calculated.loc[\"Сырая U\"].values[i]\n",
" u_xj_star = calculated.loc[\"Сырая U\"].values[j]\n",
" # если это главная диагонал - т.е. i=j, просто записываем в Rij = 1 и в u_xi_xj тоже хотя дальше такое значение нигде не учавствует\n",
" if i == j:\n",
" u_xi_xj[i, j] = 1\n",
" rij[i, j] = 1\n",
" # если не главная диагональ - считаем по формуле (24)\n",
" else:\n",
" u_xi_xj[i, j] = (-xi * u_xj_star**2 - xj * u_xi_star**2 + xi * xj * sum_of_u_star_squared) / squared_sum_x_star\n",
" rij[i, j] = u_xi_xj[i, j] / u_xi / u_xj"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 9,
"outputs": [
{
"data": {
"text/plain": "Вещества: Метан Этан Пропан \\\nВещества: \nМетан 1.000000000000000 -0.000000106633839 -0.000000039620818 \nЭтан -0.000000106633839 1.000000000000000 -0.000000003066976 \nПропан -0.000000039620818 -0.000000003066976 1.000000000000000 \ni-Бутан -0.000000000116820 -0.000000000120118 -0.000000000044764 \nн-Бутан -0.000000000045587 -0.000000000137052 -0.000000000051029 \ni-Пентан -0.000000000004849 -0.000000000038534 -0.000000000014343 \nн-Пентан -0.000000000003402 -0.000000000037365 -0.000000000013907 \nГексаны -0.000000000029274 -0.000000000026266 -0.000000000009790 \nАзот -0.000000002262052 -0.000000000672968 -0.000000000251635 \nСО2 -0.000000004031819 -0.000000000732477 -0.000000000274709 \n\nВещества: i-Бутан н-Бутан i-Пентан \\\nВещества: \nМетан -0.000000000116820 -0.000000000045587 -0.000000000004849 \nЭтан -0.000000000120118 -0.000000000137052 -0.000000000038534 \nПропан -0.000000000044764 -0.000000000051029 -0.000000000014343 \ni-Бутан 1.000000000000000 -0.000000000000344 -0.000000000000089 \nн-Бутан -0.000000000000344 1.000000000000000 -0.000000000000073 \ni-Пентан -0.000000000000089 -0.000000000000073 1.000000000000000 \nн-Пентан -0.000000000000085 -0.000000000000069 -0.000000000000017 \nГексаны -0.000000000000086 -0.000000000000079 -0.000000000000021 \nАзот -0.000000000003646 -0.000000000003780 -0.000000000001028 \nСО2 -0.000000000005476 -0.000000000005925 -0.000000000001636 \n\nВещества: н-Пентан Гексаны Азот \\\nВещества: \nМетан -0.000000000003402 -0.000000000029274 -0.000000002262052 \nЭтан -0.000000000037365 -0.000000000026266 -0.000000000672968 \nПропан -0.000000000013907 -0.000000000009790 -0.000000000251635 \ni-Бутан -0.000000000000085 -0.000000000000086 -0.000000000003646 \nн-Бутан -0.000000000000069 -0.000000000000079 -0.000000000003780 \ni-Пентан -0.000000000000017 -0.000000000000021 -0.000000000001028 \nн-Пентан 1.000000000000000 -0.000000000000020 -0.000000000000992 \nГексаны -0.000000000000020 1.000000000000000 -0.000000000000813 \nАзот -0.000000000000992 -0.000000000000813 1.000000000000000 \nСО2 -0.000000000001582 -0.000000000001211 -0.000000000036596 \n\nВещества: СО2 \nВещества: \nМетан -0.000000004031819 \nЭтан -0.000000000732477 \nПропан -0.000000000274709 \ni-Бутан -0.000000000005476 \nн-Бутан -0.000000000005925 \ni-Пентан -0.000000000001636 \nн-Пентан -0.000000000001582 \nГексаны -0.000000000001211 \nАзот -0.000000000036596 \nСО2 1.000000000000000 ",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th>Вещества:</th>\n <th>Метан</th>\n <th>Этан</th>\n <th>Пропан</th>\n <th>i-Бутан</th>\n <th>н-Бутан</th>\n <th>i-Пентан</th>\n <th>н-Пентан</th>\n <th>Гексаны</th>\n <th>Азот</th>\n <th>СО2</th>\n </tr>\n <tr>\n <th>Вещества:</th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Метан</th>\n <td>1.000000000000000</td>\n <td>-0.000000106633839</td>\n <td>-0.000000039620818</td>\n <td>-0.000000000116820</td>\n <td>-0.000000000045587</td>\n <td>-0.000000000004849</td>\n <td>-0.000000000003402</td>\n <td>-0.000000000029274</td>\n <td>-0.000000002262052</td>\n <td>-0.000000004031819</td>\n </tr>\n <tr>\n <th>Этан</th>\n <td>-0.000000106633839</td>\n <td>1.000000000000000</td>\n <td>-0.000000003066976</td>\n <td>-0.000000000120118</td>\n <td>-0.000000000137052</td>\n <td>-0.000000000038534</td>\n <td>-0.000000000037365</td>\n <td>-0.000000000026266</td>\n <td>-0.000000000672968</td>\n <td>-0.000000000732477</td>\n </tr>\n <tr>\n <th>Пропан</th>\n <td>-0.000000039620818</td>\n <td>-0.000000003066976</td>\n <td>1.000000000000000</td>\n <td>-0.000000000044764</td>\n <td>-0.000000000051029</td>\n <td>-0.000000000014343</td>\n <td>-0.000000000013907</td>\n <td>-0.000000000009790</td>\n <td>-0.000000000251635</td>\n <td>-0.000000000274709</td>\n </tr>\n <tr>\n <th>i-Бутан</th>\n <td>-0.000000000116820</td>\n <td>-0.000000000120118</td>\n <td>-0.000000000044764</td>\n <td>1.000000000000000</td>\n <td>-0.000000000000344</td>\n <td>-0.000000000000089</td>\n <td>-0.000000000000085</td>\n <td>-0.000000000000086</td>\n <td>-0.000000000003646</td>\n <td>-0.000000000005476</td>\n </tr>\n <tr>\n <th>н-Бутан</th>\n <td>-0.000000000045587</td>\n <td>-0.000000000137052</td>\n <td>-0.000000000051029</td>\n <td>-0.000000000000344</td>\n <td>1.000000000000000</td>\n <td>-0.000000000000073</td>\n <td>-0.000000000000069</td>\n <td>-0.000000000000079</td>\n <td>-0.000000000003780</td>\n <td>-0.000000000005925</td>\n </tr>\n <tr>\n <th>i-Пентан</th>\n <td>-0.000000000004849</td>\n <td>-0.000000000038534</td>\n <td>-0.000000000014343</td>\n <td>-0.000000000000089</td>\n <td>-0.000000000000073</td>\n <td>1.000000000000000</td>\n <td>-0.000000000000017</td>\n <td>-0.000000000000021</td>\n <td>-0.000000000001028</td>\n <td>-0.000000000001636</td>\n </tr>\n <tr>\n <th>н-Пентан</th>\n <td>-0.000000000003402</td>\n <td>-0.000000000037365</td>\n <td>-0.000000000013907</td>\n <td>-0.000000000000085</td>\n <td>-0.000000000000069</td>\n <td>-0.000000000000017</td>\n <td>1.000000000000000</td>\n <td>-0.000000000000020</td>\n <td>-0.000000000000992</td>\n <td>-0.000000000001582</td>\n </tr>\n <tr>\n <th>Гексаны</th>\n <td>-0.000000000029274</td>\n <td>-0.000000000026266</td>\n <td>-0.000000000009790</td>\n <td>-0.000000000000086</td>\n <td>-0.000000000000079</td>\n <td>-0.000000000000021</td>\n <td>-0.000000000000020</td>\n <td>1.000000000000000</td>\n <td>-0.000000000000813</td>\n <td>-0.000000000001211</td>\n </tr>\n <tr>\n <th>Азот</th>\n <td>-0.000000002262052</td>\n <td>-0.000000000672968</td>\n <td>-0.000000000251635</td>\n <td>-0.000000000003646</td>\n <td>-0.000000000003780</td>\n <td>-0.000000000001028</td>\n <td>-0.000000000000992</td>\n <td>-0.000000000000813</td>\n <td>1.000000000000000</td>\n <td>-0.000000000036596</td>\n </tr>\n <tr>\n <th>СО2</th>\n <td>-0.000000004031819</td>\n <td>-0.000000000732477</td>\n <td>-0.000000000274709</td>\n <td>-0.000000000005476</td>\n <td>-0.000000000005925</td>\n <td>-0.000000000001636</td>\n <td>-0.000000000001582</td>\n <td>-0.000000000001211</td>\n <td>-0.000000000036596</td>\n <td>1.000000000000000</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(u_xi_xj, index=col_names, columns=col_names)"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 10,
"outputs": [
{
"data": {
"text/plain": "Вещества: Метан Этан Пропан \\\nВещества: \nМетан 1.000000000000000 -0.408903717296719 -0.260797293292870 \nЭтан -0.408903717296719 1.000000000000000 -0.010620827360175 \nПропан -0.260797293292870 -0.010620827360175 1.000000000000000 \ni-Бутан -0.008925151048847 -0.004828084781520 -0.003088506411857 \nн-Бутан -0.003054065764061 -0.004830511593151 -0.003087278000191 \ni-Пентан -0.000832837396652 -0.003482011668673 -0.002224776566128 \nн-Пентан -0.000595006664592 -0.003438180901607 -0.002196663986666 \nГексаны -0.005055397933594 -0.002386385800139 -0.001526866168628 \nАзот -0.057621224282849 -0.009018677709038 -0.005788592672065 \nСО2 -0.070844160791667 -0.006771193676288 -0.004359110781500 \n\nВещества: i-Бутан н-Бутан i-Пентан \\\nВещества: \nМетан -0.008925151048847 -0.003054065764061 -0.000832837396652 \nЭтан -0.004828084781520 -0.004830511593151 -0.003482011668673 \nПропан -0.003088506411857 -0.003087278000191 -0.002224776566128 \ni-Бутан 1.000000000000000 -0.000241456048683 -0.000160273533406 \nн-Бутан -0.000241456048683 1.000000000000000 -0.000114740752105 \ni-Пентан -0.000160273533406 -0.000114740752105 1.000000000000000 \nн-Пентан -0.000155967547700 -0.000110886742511 -0.000069411958071 \nГексаны -0.000154985547925 -0.000126170179532 -0.000084217785637 \nАзот -0.000973428006479 -0.000885057975202 -0.000617283819891 \nСО2 -0.001008493069589 -0.000956847020515 -0.000677582343390 \n\nВещества: н-Пентан Гексаны Азот \\\nВещества: \nМетан -0.000595006664592 -0.005055397933594 -0.057621224282849 \nЭтан -0.003438180901607 -0.002386385800139 -0.009018677709038 \nПропан -0.002196663986666 -0.001526866168628 -0.005788592672065 \ni-Бутан -0.000155967547700 -0.000154985547925 -0.000973428006479 \nн-Бутан -0.000110886742511 -0.000126170179532 -0.000885057975202 \ni-Пентан -0.000069411958071 -0.000084217785637 -0.000617283819891 \nн-Пентан 1.000000000000000 -0.000082039685973 -0.000606075302954 \nГексаны -0.000082039685973 1.000000000000000 -0.000490876703194 \nАзот -0.000606075302954 -0.000490876703194 1.000000000000000 \nСО2 -0.000667035104471 -0.000504185446442 -0.002247302900555 \n\nВещества: СО2 \nВещества: \nМетан -0.070844160791667 \nЭтан -0.006771193676288 \nПропан -0.004359110781500 \ni-Бутан -0.001008493069589 \nн-Бутан -0.000956847020515 \ni-Пентан -0.000677582343390 \nн-Пентан -0.000667035104471 \nГексаны -0.000504185446442 \nАзот -0.002247302900555 \nСО2 1.000000000000000 ",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th>Вещества:</th>\n <th>Метан</th>\n <th>Этан</th>\n <th>Пропан</th>\n <th>i-Бутан</th>\n <th>н-Бутан</th>\n <th>i-Пентан</th>\n <th>н-Пентан</th>\n <th>Гексаны</th>\n <th>Азот</th>\n <th>СО2</th>\n </tr>\n <tr>\n <th>Вещества:</th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Метан</th>\n <td>1.000000000000000</td>\n <td>-0.408903717296719</td>\n <td>-0.260797293292870</td>\n <td>-0.008925151048847</td>\n <td>-0.003054065764061</td>\n <td>-0.000832837396652</td>\n <td>-0.000595006664592</td>\n <td>-0.005055397933594</td>\n <td>-0.057621224282849</td>\n <td>-0.070844160791667</td>\n </tr>\n <tr>\n <th>Этан</th>\n <td>-0.408903717296719</td>\n <td>1.000000000000000</td>\n <td>-0.010620827360175</td>\n <td>-0.004828084781520</td>\n <td>-0.004830511593151</td>\n <td>-0.003482011668673</td>\n <td>-0.003438180901607</td>\n <td>-0.002386385800139</td>\n <td>-0.009018677709038</td>\n <td>-0.006771193676288</td>\n </tr>\n <tr>\n <th>Пропан</th>\n <td>-0.260797293292870</td>\n <td>-0.010620827360175</td>\n <td>1.000000000000000</td>\n <td>-0.003088506411857</td>\n <td>-0.003087278000191</td>\n <td>-0.002224776566128</td>\n <td>-0.002196663986666</td>\n <td>-0.001526866168628</td>\n <td>-0.005788592672065</td>\n <td>-0.004359110781500</td>\n </tr>\n <tr>\n <th>i-Бутан</th>\n <td>-0.008925151048847</td>\n <td>-0.004828084781520</td>\n <td>-0.003088506411857</td>\n <td>1.000000000000000</td>\n <td>-0.000241456048683</td>\n <td>-0.000160273533406</td>\n <td>-0.000155967547700</td>\n <td>-0.000154985547925</td>\n <td>-0.000973428006479</td>\n <td>-0.001008493069589</td>\n </tr>\n <tr>\n <th>н-Бутан</th>\n <td>-0.003054065764061</td>\n <td>-0.004830511593151</td>\n <td>-0.003087278000191</td>\n <td>-0.000241456048683</td>\n <td>1.000000000000000</td>\n <td>-0.000114740752105</td>\n <td>-0.000110886742511</td>\n <td>-0.000126170179532</td>\n <td>-0.000885057975202</td>\n <td>-0.000956847020515</td>\n </tr>\n <tr>\n <th>i-Пентан</th>\n <td>-0.000832837396652</td>\n <td>-0.003482011668673</td>\n <td>-0.002224776566128</td>\n <td>-0.000160273533406</td>\n <td>-0.000114740752105</td>\n <td>1.000000000000000</td>\n <td>-0.000069411958071</td>\n <td>-0.000084217785637</td>\n <td>-0.000617283819891</td>\n <td>-0.000677582343390</td>\n </tr>\n <tr>\n <th>н-Пентан</th>\n <td>-0.000595006664592</td>\n <td>-0.003438180901607</td>\n <td>-0.002196663986666</td>\n <td>-0.000155967547700</td>\n <td>-0.000110886742511</td>\n <td>-0.000069411958071</td>\n <td>1.000000000000000</td>\n <td>-0.000082039685973</td>\n <td>-0.000606075302954</td>\n <td>-0.000667035104471</td>\n </tr>\n <tr>\n <th>Гексаны</th>\n <td>-0.005055397933594</td>\n <td>-0.002386385800139</td>\n <td>-0.001526866168628</td>\n <td>-0.000154985547925</td>\n <td>-0.000126170179532</td>\n <td>-0.000084217785637</td>\n <td>-0.000082039685973</td>\n <td>1.000000000000000</td>\n <td>-0.000490876703194</td>\n <td>-0.000504185446442</td>\n </tr>\n <tr>\n <th>Азот</th>\n <td>-0.057621224282849</td>\n <td>-0.009018677709038</td>\n <td>-0.005788592672065</td>\n <td>-0.000973428006479</td>\n <td>-0.000885057975202</td>\n <td>-0.000617283819891</td>\n <td>-0.000606075302954</td>\n <td>-0.000490876703194</td>\n <td>1.000000000000000</td>\n <td>-0.002247302900555</td>\n </tr>\n <tr>\n <th>СО2</th>\n <td>-0.070844160791667</td>\n <td>-0.006771193676288</td>\n <td>-0.004359110781500</td>\n <td>-0.001008493069589</td>\n <td>-0.000956847020515</td>\n <td>-0.000677582343390</td>\n <td>-0.000667035104471</td>\n <td>-0.000504185446442</td>\n <td>-0.002247302900555</td>\n <td>1.000000000000000</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(rij, index=col_names, columns=col_names)"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"Расчет неопределенности ведется по формуле В.5 в приложении В ГОСТ31369-2021:\n",
"$$ u^2(H) = \\sum_{i=1}^{N} \\sum_{j=i}^{N} {[ H_i \\cdot u(x_i) \\cdot r(x_i, x_j) \\cdot H_j \\cdot u(x_j) ]} + \\sum_{i=1}^{N} {x^{2}_{i} \\cdot (u[H_j])^2} $$\n",
"временные переменны:\n",
"$$ lhs = \\sum_{i=1}^{N} \\sum_{j=i}^{N} {[ H_i \\cdot u(x_i) \\cdot r(x_i, x_j) \\cdot H_j \\cdot u(x_j) ]} $$\n",
"$$ rhs = \\sum_{i=1}^{N} {x^{2}_{i} \\cdot (u[H_j])^2} $$\n",
"т.о.:\n",
"$$ u^2(H) = lhs + rhs $$"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": 11,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Левое слагаемое: 1.6979997573725014\n",
"Правое слагаемое: 0.03218016875005572\n"
]
},
{
"data": {
"text/plain": "2.630726079334416"
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"N = len(calculated.values[0])\n",
"lhs = 0\n",
"for i in range(N):\n",
" for j in range(N):\n",
" u_xi = calculated.loc[\"Итоговая U\"].values[i]\n",
" u_xj = calculated.loc[\"Итоговая U\"].values[j]\n",
" Hci = calculated.loc[\"Hc\"].values[i]\n",
" Hcj = calculated.loc[\"Hc\"].values[j]\n",
" lhs += Hci * u_xi * rij[i, j] * Hcj * u_xj\n",
"print('Левое слагаемое:', lhs)\n",
"\n",
"rhs = sum((calculated.loc[\"u(Hc)\"].values*calculated.loc[\"Итоговая C\"].values) ** 2)\n",
"print('Правое слагаемое:', rhs)\n",
"\n",
"u_Hc_squared = lhs + rhs\n",
"\n",
"# умножаем на 2 потому что в ПО Анализатор выводится - расширенная неопределенность с коэффициентом охвата k = 2\n",
"2 * math.sqrt(u_Hc_squared)\n",
"# у меня: 2.630726099014282"
],
"metadata": {
"collapsed": false
}
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment