avatar_mekkaod

Формула зависимости процентного содержания спирта от температуры кипения

Автор mekkaod, 01-02-2014, 16:28:52

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

Игорь

Два аспекта.

1. Программу на VB можно перекроить на VBA и использовать прямо в файле с моими пользовательскими программами. Но это не интересно.
2. Код пользовательских функций написан на вижлбейсике и может легко быть использован.
Можно взять мой блок кода из VBA и скопипастить  его прямо в твою прогу на чистом вижлбейсике. Огромные массивы табличных данных уже внесены, модуль интерполяции работает.
Сможешь делать одной строкой любые преобразования температур, крепостей пара и жидкости, плотностей в любом направлении.
Единственное, что возможно придется сделать, это изменить имена переменных на латиницу. А может и не придется.
Поковыряйся на досуге.

... блин... код длинный, не помещается в сообщении. Прикрепляю в текстовом файле.

[attach=1]
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

Игорь

В коде внесены и систематизированы табличные данные - 1331 значение :)
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

mekkaodTopic starter

Игорь, Ну что же, я посмотрел)))
Всё предельно просто, только цитируя тебя, моя то формулка в одну строчку, по проще будет)))
А если серьёзно, то для моих целей из твоего кода можно конечно вычленить только необходимое. Хотя это всё равно будет громоздко.
С аналитической точки зрения этот код рулит.
А с практической (моей) формулка достаточна, для того и опубликована.
Позже выложу восьмую степень для гурманов и четвёртую подправлю по данным из твоей таблицы.
По любому спасибо за твой нездоровый ночной порыв. Впредь всякую ахинею буду по утрам опубликовывать, чтоб ты ночами спал.)))

Игорь

Цитата: mekkaod від 02-02-2014, 13:15:05моя то формулка в одну строчку, по проще будет)))
В этом прелесть VBA для экселя. Я один раз забил таблицы, прописал пользовательские функции и забыл о них. теперь пишу маленикую строчку и получаю резльтат.
С другой стороны, моя интерполяция позволяет работать в любом направлении - получать градусы из процентов  проценты из градусов и летать между процентами.
Если ты захочешь сделать "обратный ход", тебе придется снова искать коэффициенты и бороться за точность.

Ты меня заразил... Сейчас на базе своей интерполяции сделаю аппроксимационную формулу для переходов от градусов цельсия к объемным процентам. :)
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

mekkaodTopic starter

Цитата: Игорь від 02-02-2014, 13:24:48Если ты захочешь сделать "обратный ход", тебе придется снова искать коэффициенты и бороться за точность.
На самом деле нет, просто в файле который считает коэффициенты я меняю иксы с игриками и сразу получаю формулу наоборот.
Когда со своим наиграешься загляни в моё. Желтое это данные.
Там можно хоть по десяти точкам построить, но надо в файле многое менять.

svarnoy

Выборочно сравнивал результаты в таблице "аппроксимация",с формулой,и с "калькулятором самогонщика"
Результаты "калькулятора самогонщика" точно сходятся с таблицей " аппроксимация" и сильно расходятся с формулой.
Проверил выборочно около 25 значений.

mekkaodTopic starter

Цитата: svarnoy від 02-02-2014, 17:59:34
Выборочно сравнивал результаты
Вот два графика , на одном две кривые моя и Игоря
На другой разница между ними.
[attach=1]
[attach=2]
Да есть отклонение до одного % в некоторых местах.
Пересмотри первое сообщение в теме я там кое что добавил.

Игорь

mekkaod, не стоит мои графики принимать за эталон. Да, в них использовано достаточно много табличных значений, да, интерполяция сделано корректно, но это линейная интерполяция,и между табличными знаачениями расчетные значения будут обязательно отклоняться от фактических.  Сэтим и связан колебательный характер разницы между графиками. Я подумаю как устранить влияние моей интерполяции на проверку формул. Это должно быть не сложно.



Исследуемая нами кривая отражает непростые процессы изменения свойств кипящих гидратов спирта при изменении температуры и поэтому ожидать полного совпадения кривой, полученной в эксперименте, и кривой, построенной по аппроксимирующей формуле, нет смысла.
Поэтому, если есть необходимость использовать не интерполяцию по таблице, а формулу, можно задаться допустимой погрешностью и подобрать формулу, которая дает результаты в пределах этой погрешности.

Я подобрал коэффициенты для полинома третьей степени,  который во всем диапазоне температур кипения дает среднее отклонение 0,65 об%, а максимальное отклонение составляет 2,58 об%. Причем увеличение степени полинома до 4-7 не дало увеличения точности.

k3 = -0.015785
k2 = 4.49377
k1 = -427.524
k0 = 13599.5

Формула с такими коэффициентами имеет такой вид

У = -0.015785 Х3 + 4.49377 Х2 - 427.524 Х  + 13599.5 , где Х - градусы Цельсия, У - объемные проценты спирта в  кипящей жидкости.

В коэффициентах важны все 6 значащих цифр. Округлять нельзя.

Еще одна деталь.
Если формула будет работать не во всем диапазоне спиртуозностей, а только в определенной части графика, нужно делать формулу именно для этого диапазона, это на порядок увеличит точность.
Так, например, если речь идет о первой перегонке, нужно иметь формулу только в диапезоне от 0 до 15%.


Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

Игорь

Цитата: Игорь від 03-02-2014, 13:07:39Я подумаю как устранить влияние моей интерполяции на проверку формул. Это должно быть не сложно
Подумал. Это сложно. Если между массовыми и молярными концентрациями есть связь в виде точной формулы, то с объемными процентами все сложнее. Контракция, степень сжатия раствора, зависит от температуры и не описана пока внятными формулами. Поэтому волей-неволей при подборе формул придется пользоваться результатами интерполяции и наследовать вносимую интерполяцией погрешность.
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

mekkaodTopic starter

Цитата: Игорь від 03-02-2014, 13:07:39максимальное отклонение составляет 2,58 об%. Причем увеличение степени полинома до 4-7 не дало увеличения точности.
У нас тоже сначала так было.
Цитата: Игорь від 03-02-2014, 13:07:39коэффициентах важны все 6 значащих цифр. Округлять нельзя
И чтоб от этого уйти пришлось усложнять саму систему подбора коэффициентов.(файлик тот что я тебе отправил)

Цитата: Игорь від 03-02-2014, 13:07:39нужно делать формулу именно для этого диапазона
Так мы тоже ходили - получается три почти идеальных участка

И результат, тот что в восьмой степени тебе известный, как раз все коэффициенты "короткие" и максимальная погрешность 1% по спирту, да и в таком диапазоне от 40 до 80 % спирта который особой смысловой нагрузки не несёт.
Что же касается:
Цитата: Игорь від 03-02-2014, 13:14:39то с объемными процентами все сложнее
Смысла я не вижу, мы аналитическими вопросами занимаемся из любопытства, а считалка в Excel прекрасная для нужд связанных с нашим делом

Игорь

Для проверок формул интерполяции есть смысл использовать данные из приложенного файла. Влияние погрешности от интерполяции минимизировано насколько это было возможно.
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

mekkaodTopic starter


mekkaodTopic starter

Для ускорения вычислений формулу
К%об = 17,26 - 18,32 * Ti + 7,81 * Ti ^ 2 - 1,77 * Ti ^ 3 +4,81 * Ti ^ 4 - 2,95 * Ti ^ 5 - 1,43 * Ti ^ 6 + 0,8 * Ti ^ 7 + 0,05 * Ti ^ 8
Где  Ti = ( t[град] - 89 ) / 6,49
в которой 36 умножений можно заменить на её аналог по схеме Горнера, в которой всего 8 умножений:
К%об = 17,26 - Ti * ( 18,32 - Ti * ( 7,81 - Ti * ( 1,77 - Ti * ( 4,81 - Ti * ( 2,95 + Ti * ( 1,43 - Ti *( 0,8  + 0,05 * Ti)))))))
Где  Ti = ( t[град] - 89 ) / 6,49

VINOKUR

Цитата: Игорь від 02-02-2014, 03:18:10Эта табличка нарисована за 3 минуты.

Игорь, а можно переделать немного таблицу и убрать из неё массовую и молярную концентрацию спирта, и добавить туда " Содержание спирта в отборе (% об.)  или просто добавить ?


« Життя вдалося, якщо коньяк, який ми п'ємо, старше жінок, з якими ми спимо »

Игорь

VINOKUR, тут есть один нюанс. Формулы не могут учесть ту парциальную конденсацию, которая непременно имеет место в любом кубе. Можно по формулам нарисовать таблицы крепости пара, это очень просто, занимает минуту времени. Но это крепость пара над самой поверхностью жидкости. По мере подъема в кубе, часть этого пара  конденсируется на стенках и крышке куба, причем в конденсате содержание спирта меньше, чем в парах, и поэтому на выходе из куба крепость всегда будет выше расчетной. Разница между фактическим и расчетным значением будет тем больше, чем бóльшая доля пара сконденденсируется.
Это, кстати, общеизвестно. Чем медленней нагрев, тем крепче самогон на выходе.

Таблица в таком виде тебя устроит?

Зависимость крепости кубовой жидкости и крепости паров над ее поверхностью от температуры кипения жидкости.

ТЕМП   ЖИДК   ПАР
кип   %об   %об

78,5   93,70   94,35
79,0   89,06   91,81
79,5   83,78   89,37
80,0   77,48   87,16
80,5   72,17   85,83
81,0   67,27   84,79
81,5   61,96   83,69
82,0   55,75   82,36
82,5   50,07   81,28
83,0   45,50   80,37
83,5   42,09   79,63
84,0   39,07   78,87
84,5   35,81   77,97
85,0   33,02   76,94
85,5   30,39   75,68
86,0   28,02   74,34
86,5   25,79   72,97
87,0   23,95   71,68
87,5   22,17   70,35
88,0   20,35   68,88
88,5   18,63   67,37
89,0   17,16   65,98
89,5   15,89   64,49
90,0   14,49   62,67
90,5   13,27   60,97
91,0   12,11   59,22
91,5   11,21   57,58
92,0   10,39   55,95
92,5   9,70   54,31
93,0   9,06   52,65
93,5   8,49   51,06
94,0   7,94   49,21
94,5   7,34   46,32
95,0   6,79   45,27
95,5   6,21   42,96
96,0   5,64   40,52
96,5   5,08   37,96
97,0   4,45   35,07
97,5   3,88   31,96
98,0   3,31   28,69
98,5   2,52   23,54
99,0   1,69   16,47
99,5   0,84   8,78
100   0,00   0,00
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

SMF spam blocked by CleanTalk