ФГБОУ ВПО «Алтайский государственный технический университет им. И.И. Ползунова» Факультет пищевых и химических производств Кафедра Машины и аппараты пищевых производств Седешев М.А. Основы САПР. Лабораторный практикум. Построение математических моделей нагрева и выпечки тестовых заготовок по экспериментальным данным Методические указания к выполнению лабораторной работы по дисциплине «Системы автоматизированного проектирования пищевых производств» Барнаул 2014 Седешев М. А. Основы САПР. Лабораторный практикум. Построение математических моделей нагрева и выпечки тестовых заготовок по экспериментальным данным: Методические указания к лабораторным работам по курсу “Системы автоматизированного проектирования пищевых производств” Алт. гос. техн. ун-т им. И. И. Ползунова. – Барнаул: Изд-во Алт. ГТУ, 2014.-16 с. Рассмотрены вопросы построения математических моделей нагрева и выпечки тестовых заготовок по экспериментальным данным с использованием метода наименьших квадратов в среде пакета Mathcad 6 Pro. Рассмотрены и одобрены на заседании кафедры Машины и аппараты пищевых производств. Протокол № 3 от 13.11. 2014 г. 2 В общем случае задача построения математических моделей по экспериментальным данным ставится следующим образом. Требуется на основании эксперимента установить функциональную зависимость y от величины x. y=f(x) Пусть в результате эксперимента получено n значений функции y при соответствующих значениях аргумента x, а результаты занесены в таблицу 1. Таблица 1 x y x1 y1 x2 y2 x3 y3 ..... ..... xn yn Выявление зависимости y=f(x) можно разделить на два основных этапа - выбор вида формулы и определение коэффициентов выбранной формулы. На первом этапе вид функции y=f(x) устанавливается или из теоретических соображений, или на основании характера (тенденции) расположения на координатной плоскости точек, соответствующих экспериментальным значениям. Например, экспериментальные точки расположены на координатной плоскости так, как изображено на рисунке 1. Учитывая, что при проведении эксперимента имеют место погрешности, естественно предположить, что искомую функцию y=f(x) можно представить в виде линейной функции y=ax+b. y y y ax b y a xb x x Рисунок 1 Рисунок 2 Если экспериментальные точки расположены так, как на рисунке 2, то естественно искать функцию y=f(x) в виде какой-то степенной зависимости, например y = axb+с и т. д. 3 Конечно, в общем случае при нанесении экспериментальных данных исследователь должен использовать предварительную (априорную) информацию о характере будущей кривой. Возможны какие-то специальные точки, например, кривая проходит через начало координат, экспоненциально приближается к какому-то предельному значению, при определенном значении имеет максимум или минимум и так далее. В данных методических указаниях эти вопросы так широко не рассматриваются - нас интересует только задача: заданы точки и, исходя из тенденции изменения экспериментальных данных, найти функцию описывающую наилучшим образом эту тенденцию. Но, хотелось бы сделать общее замечание: никогда экспериментатор точно через точки не проводит линии будущей функциональной зависимости (рис. 3 - неверно). Всегда рисуется кривая, которая отражает тенденцию изменения данных (рис. 4 - правильно). Исключением может служить математический эксперимент, в котором отсутствуют погрешности данных. y y x x Рисунок 3 Рисунок 4 Неверно Правильно Второе замечание: всегда экспериментальные данные на график наносятся в виде символов (маркеров): квадратов, окружностей, ромбов и т. д. Если данные оставить точками, то при совпадении кривой с этими точками они могут просто исчезнуть из графика. Итак, выбор вида функции не является математической задачей, вид функции (ее структуру) задает экспериментатор на основании каких-то рассуждений, или теоретических, или принятых на основании характера расположения экспериментальных точек на графике. Так ниже будет получен вид функции исходя из теоретических рассуждений для модели, описывающей изменение температуры в центре тестовой заготовки в зависимости от времени нагрева и ее массы. 4 На втором этапе при выбранном виде функции y=f(x,a,b,c...) остаётся подобрать входящие в неё параметры (коэффициенты) a,b,c так, чтобы в каком-то смысле они наилучшим образом описывали бы тенденцию изменения экспериментальных данных в рассматриваемом процессе. Широко распространённым методом нахождения неизвестных коэффициентов функции является метод наименьших квадратов, где смысл наилучшего проведения кривой отражающей тенденцию изменения экспериментальных данных выражается в следующем: сумма квадратов отклонений экспериментальных значений от значений, вычисленных по подбираемой функции должна быть минимальной. Исходя из принципа, заложенного в МНК рассмотрим сумму квадратов разностей значений уi, полученных в эксперименте и создаваемой функцией f(xi, a, b, c...) в соответствующих точках xi: 2 (1) S(a, b, c...) y f ( x , a, b, c...) . i i i Подбираем коэффициенты (параметры) а,b,c... так, чтобы эта сумма имела наименьшее значение (обратим внимание, что S(a,b,c..) это функция, зависящая только от параметров a,b,c...). (2) S(a, b, c...) y f ( x , a, b, c,...)2 min . i i i Как известно из курса математики, функция имеет минимум при тех значениях a,b,c..., которые удовлетворяют системе уравнений: dS 0, dS 0, dS 0 . (3) da db dc Решая систему уравнений (3), определим неизвестные коэффициенты а, b, c… В общем виде данная задача по отысканию неизвестных коэффициентов не решается, так как необходимо иметь конкретный вид функции f(xi, a, b, c). Рассмотрим задачу, в которой необходимо получить аналитическую зависимость (модель) изменения температуры в центре тестовой заготовки при выпечке в электромагнитном поле сверхвысокой частоты (СВЧ) в зависимости от времени. Для решения используем экспериментальные данные, полученные в статье [1]. На первом этапе необходимо выбрать вид функциональной зависимости. Используя законы природы, постараемся получить вид такой функции из теоретических рассуждений. Как показывает эксперимент, в процессе нагрева в термической печи и при выпечке с использованием СВЧ энергии, изменение темпе- 5 ратуры тел от времени описываются практически одинаковыми функциональными зависимостями. Рассмотрим сначала процесс нагрева в термической печи. Пусть тело имеет начальную температуру То, а температуру в нагревающей печи будем считать постоянной и равной Тк. Согласно закону, установленному Ньютоном [2], скорость нагрева тел пропорциональна разности между температурой тела и температурой окружающей среды. Если обозначить в момент времени t текущую температуру тела через Т, то тогда скорость изменения температуры от времени, т. е. dT пропорциональна разности Тк-Т. Отсюда можно записать dT = k (Тк-Т). dt dt (4) Коэффициент пропорциональности k зависит от конкретных параметров процесса нагрева: физических свойств тела, его геометрической формы, размеров (ясно, что скорость нагрева раскатанного листа больше, чем первоначальной заготовки или чем больше масса, тем медленнее процесс нагрева). Решим дифференциальное уравнение (4). Разделяя переменные, получим dT =kdt . (5) Tk T Если теперь проинтегрируем левую и правую части уравнения, то найдём аналитическое решение уравнения (5). Проинтегрировать можно с помощью таблиц интегралов, помещённых в математические справочники. Это же может выполнить в аналитической (символьной) форме пакет Mathcad. При использовании Mathcad символьной математики для вычисления выражения результатом является другое выражение или число. Первоначальное выражение можно с помощью символьных преобразований разложить на множители, продифференцировать, разложить в ряд и так далее. Здесь мы рассмотрим применение символьного знака равенства "". В отличие от обычного знака равенства, который всегда возвращает число, символьный знак равенства может возвращать выражение. Например, если вычислить определенный интеграл, в пределах интегрирования которого стоят цифры, то получим число. Но, если вычислим неопределенный интеграл или определенный, у которого в пределах стоят переменные, то получим выражение. Чтобы иметь возможность использовать символьный знак равенства, необходимо включить автоматический режим работы (утопленная кнопка с изображением лампочки - значит автоматический режим 6 включен). Другой вариант включения - войти в меню Math (Математика) и пометить "галочкой" пункт Automatic Mode (Автоматический режим). Затем удостоверьтесь, что команда Live Symbolics (Использовать символику) в меню Math так же помечена или утопите кнопку с изображением шапочки, находящуюся рядом с кнопкой, на которой изображена лампочка. Печатаем в Mathcad левую часть уравнения (5). Установите синий знак ввода в конце введенного выражения или выделите все выражение синей рамкой. Нажмите одновременно [Ctrl] и . (клавишу Ctrl и клавишу с точкой). Mathcad отобразит стрелку и получим выражение (6). 1 Tk TdT (6) Эту же стрелку можно вызвать, нажав на кнопку Evalutation and Boolean Palette (Знаки отношения - на ней изображены знаки , , ). Для того, чтобы узнать информацию о кнопке (ее функции или название), подведите стрелку к этой кнопке и рядом появится строка сообщения. Теперь щелкните мышью вне выражения (6). Mathcad вычислит в символьном виде значение интеграла. 1 . Tk T dT ln( Tk T) . Аналогично интегрируем в символьном виде правую часть уравнения (5). Записываем (7) kdt . После щелчка мышью вне выражения (7), получаем kdt k t . Объединим эти символьные решения в одно уравнение с помощью копирования и не забудем ввести постоянную интегрирования для общего решения. Удобно постоянную интегрирования представить в виде ln(C). Тогда получим -ln(Tk-T)+ k t ln( C) 0 . (8) Здесь знак равенства - это "жирное", булево равенство. Все дальнейшие преобразования выражения (8) проведем в символьном виде в Mathcad. Итак, после нахождения общего решения (8) найдем частное решение. Для этого, используя начальные условия, определим неизвест- 7 ную постоянную интегрирования С. Сначала решим уравнение (8) относительно переменной С. Для этого синий маркер ввода установим справа от переменной С и обращаемся к SymbolikSolve for Variable (Решить относительно переменной). Получаем (9) C exp(ln( Tk T ) k t ) . Подставляем начальные условия при (t=0, Т=Тo) в уравнение(9). Для этого в Mathcad набираем на экране цифру 0 и переменную To. Затем копируем цифру 0 в память, выделяем в уравнении (9) маркером ввода справа переменную t. Обращаемся к Symbolic Substitute for Variable (Заменить переменную), получаем С=Tk-T . (10) Аналогично заменяем T на To в уравнении (10). Окончательно имеем С=Tk-To . (11) Теперь в уравнении (8) с помощью символьных преобразований Mathcad переменную С заменяем на выражение (11). Тогда получим (12) ln( Tk T ) k t ln( Tk To ) 0 . Из уравнения (12) выразим переменную Т с помощью команды Solve for Variable (Решить относительно переменной). Тогда (13) T exp( k t ln( Tk To )) Tk . С помощью команды Simplify (Упростить) упрощаем выражение (13). Для этого необходимо сначала заключить выражение (13) в выделяющую синюю рамку, а затем выбрать команду Simplify. Получаем (14) T exp( k t ) Tk exp( k t ) To Tk . Выносим за скобки exp( k t ) e k t и окончательно закон изменения температуры от времени при нагреве будет иметь вид (15) T Tk (Tk To ) e kt . После получения уравнения (15) необходимо сказать, что оно не совсем корректно получено из выражения (5). Правильно было бы уравнение (6) записать в следующем виде ln( Tk T) k t ln( C) . Теперь самостоятельно данное уравнение преобразовать с помощью символьной математике Mathcad к виду (15). Если эти преобразования проделаны, то получите выражения (16) несколько отличающееся от (15) (16) T Tk (Tk To) e kt Два выражения (15 и 16) совершенно равноправны и правильны. Только в выражении (15) после обработки экспериментальных данных 8 коэффициент k будет отрицательным, а обработав экспериментальные данные для уравнения (16) коэффициент k будет положителен (знак минус уже стоит в уравнении). Знак минус у коэффициента k должен был обязательно появиться, так как теоретически температура тела сравняется с температурой Tk лишь при t. Подставьте t= в уравнение (15) и (16). Что получилось? Подставьте t=0 в эти же уравнения. Что сейчас имеем? Итак, первый этап завершился нахождением вида зависимости T(t) из теоретических рассуждений (уравнение (15) или (16)). На втором этапе, если имеются экспериментальные данные нагрева в термической печи в зависимости от времени, можно определить значение коэффициента k в формуле (15) или (16). Как уже отмечалось, данный коэффициент будет зависеть от условий протекания конкретного процесса нагрева. В работе [1] исследовалось изменение температуры в центре тестовых заготовок бисквита и кекса при выпечке в СВЧ печах в зависимости от времени. Масса тестовых заготовок бисквита составляла 100, 200 и 300 г, кекса - 150, 300 и 450г. Анализ экспериментальных данных показывает, что изменение температуры Т от начального значения Т 0 и до конечного Тk при нагреве в СВЧ печах лучше описывается не уравнением (15), а следующей зависимостью 2 Т=Тk-(Тk–Тo) e k t . (17) Подставив конкретные численные значения Tk, To, k в формулу (17), получим математическую модель изменения температуры в центре тестовой заготовки в зависимости от времени. Для этого, при известных значениях Tk и To по экспериментальным данным нагрева с помощью МНК определим коэффициент k для каждого значения массы тестовой заготовки. Для бисквита массой 100г получены следующие экспериментальные данные, приведенные в таблице 2. Время приведено в секундах, температура в градусах Кельвина. t T Таблица 2 0 297 10 304 20 321 30 342 60 375 90 377 120 378 В Mathcad экспериментальные данные введем через векторы T и t. 9 Tk:=378 – конечная температура 297 0 304 10 нагрева Тo:=297 – начальная температура 321 20 нагрева Т:= t:= i:=0…6 – изменение индекса у ин 342 30 дексированных переменных Ti и ti 375 60 векторов T и t 377 90 378 120 Наносим экспериментальные данные символами “box” на график (рисунок 5). 400 350 T i 300 250 0 50 100 t 150 i Рисунок 5 Cоставляем для данного процесса уравнение типа (2) 2 2 S( k ) T Tk (Tk To ) e kt i min . i i (18) Это уравнение в Mathcad записано как комментарий к нашей задаче. Для такой записи использован булевый знак равенства ("жирное" равенство). Для нахождения минимума функции (18) найдём производную по параметру k и приравняем ее к нулю. Производную по переменной k уравнения (18) найдём с помощью символьных преобразований пакета Mathcad. Для этого синим маркером ввода выделяем справа переменную k и обращаемся к команде Differentiate on Variable (Дифференцировать по переменной). Однако Mathcad отказывается выполнять дифференцирование с суммой. (Проверить данный результат). Поэтому копируем выражение, стоящее под знаком суммы. Получаем: 10 2 T Tk (Tk To ) e kti2 i Только после этого преобразования дифференцируем полученное выражение по переменной k. После дифференцирования имеем 2 Ti Tk (Tk To ) exp k t i 2 (Tk To ) ( t i 2 ) exp k t i 2 Для ввода знака суммы перед полученным выражением, выделяем его синей рамкой, и нажимаем клавишу Insert (Вставить). Синяя рамка станет красного цвета. Это означает, что вводимая информация будет находиться впереди от выделенной записи. Вводим знак суммы , выделяем всю запись синей рамкой, и приравниваем данную i производную булевым равенством к нулю. Для численного решения используем функцию find. Задаем начальное значение коэффициента k:=0,001. given 2 2 2 2 Ti Tk (Tk To) exp k t i (Tk To) ( t i ) exp k t i 0 i k:=find(k) После нахождения коэффициента k, строим кривую функции изменения температуры от времени, на графике, помещенном на рисунке 5. Данная кривая должена наилучшим образом (по условию МНК) проходить через экспериментальные данные. x 0 .. 1 2 0 Tx(x) : Tk (Tk To) e kx После ввода функции в график получим рисунок 6. 2 400 T 350 i Tx( x) 300 250 0 50 100 t ,x i Рисунок 6 11 150 (19) Итак, нами первоначально из теоретических соображений была получена структура уравнения (15), описывающая изменение температуры от времени при нагреве в термической печи. Затем в эту формулу внесена поправка, учитывающая экспериментальные данные при нагреве в СВЧ печах (формула 17), и, наконец, методом наименьших квадратов нашли неизвестный коэффициент k в этой формуле. В математике говорят, что мы решили задачу аппроксимации, то есть, заменили по возможности более точно численно не выражаемую функцию (представленную в виде таблично заданных значений) через вычисляемую функцию. Таким образом, найденная функция (19) является наилучшим приближением по условию МНК экспериментальных данных, приведенных в таблице 2. Теперь для описания тенденции изменения температуры от времени используем не теоретические соображения, а функции в виде многочленов второй, третьей и четвертой степеней. То есть (20) T a 0 a1 t a 2 t 2 , T a 0 a1 t a 2 t 2 a 3 t 3 , 2 3 (21) 4. (22) T a 0 a1 t a 2 t a 3 t a 4 t Для этих трех вариантов методом наименьших квадратов найти неизвестные коэффициенты a0, a1…, нанести кривые функций (20, 21, 22) на график, приведенный на рис. 6. Визуально сравнить все графики. Сделать выводы. Если при использовании формулы (16) получаем полуэмпирическую (или полутеоретическую) зависимость (18), то формулы (19, 20, 21) чисто эмпирические. (Эмпирический – основанный на опыте) Для бисквита массой 200 г экспериментальные данные по изменению температуры от времени в центре тестовой заготовки приведены в таблице 3. t T Таблица 3 0 10 297 299 20 304 30 312 60 342 90 365 120 375 150 377 180 378 Аппроксимируем экспериментальные данные функцией (17). Для нахождения коэффициента k используем встроенную в Mathcad функцию Minerr (MINimal ERRor – минимальная ошибка). Функция Find работает с тождествами, где обязательно должно выполняться равенство левой и правой части уравнений. Если нет решений или оно по 12 каким-либо причинам не находится, то появляется сообщение об ошибке “Did not find Solution – Решение не найдено”. Функция Minerr ищет значения своих аргументов, при которых левые и правые части уравнения или системы уравнений отличаются друг от друга минимально. Функция Find в принципе лишняя – с поиском корня уравнения или системы успешно справится и функция Minerr, так как ноль – это и есть минимальное отклонение. Введем в Mathcad значения таблицы 3 через векторы T1 и t1. Нанести экспериментальные данные символами “box” на график (рисунок 7). T1 297 0 299 10 304 20 312 30 342 t1 To 297 i 0 .. 8 k1 0.001 Tk 378 given 2 k1. t1 i 60 Tk ( Tk To) . e T1i 365 90 375 120 377 150 378 180 i k1 2 0 (23) minerr( k1 ) k1 = 2.224 10 4 400 350 T1 i 300 250 0 100 200 t1 i Рисунок 7 Понятно, что сумма квадратов отклонений в формуле (23) никогда не будет равна нулю. Mathcad ищет наилучшее значение k1, кото- 13 рое приближает эту сумму к нулю. Проверить, чему равна эта сумма при найденном наилучшем коэффициенте k1. После нахождения коэффициента k1 нанести кривую функции (17) на график с экспериментальными данными (рисунок 8). 400 T1 i Tx1( x1) 350 300 250 0 100 200 t1 , x1 i Рисунок 8 Для бисквита массой 300 г экспериментальные данные по изменению температуры от времени приведены в таблице 4. Таблица 4 0 10 20 30 60 90 120 180 240 320 297 298 300 304 321 342 359 374 377 378 Введем в Mathcad значения таблицы 4 через векторы T2 и t2. Нанести экспериментальные данные символами “box” на график (рисунок 9). 297 0 t T T2 298 10 300 20 304 30 321 342 t2 Tk 378 To 293 i 0 .. 9 60 90 359 120 374 180 377 240 378 320 14 377 400 350 T2 i 300 297 250 0 100 200 0 300 t2 i 240 Рисунок 9 Аппроксимировать экспериментальные данные таблицы 4 функцией (17). Для нахождения коэффициента k используем способ, примененный в работе [1]. Здесь использован известный подход – линеаризация экспериментальных данных, что значительно упрощает применение МНК для нахождения неизвестных коэффициентов. Нанести экспериментальные данные таблицы 4 в новых линеаризованных координатах x, y [1] (рисунок 10). Пересчет в новые координаты провести по приведенным ниже выражениям. Tk T2i yi ln Tk To x -0.0482021 y i i t2 2 i . 0 5 -6.74524 10 0 0 4 5 10 5 1 10 x i 5 1.5 10 102400 Рисунок 10 По формуле (9 [1]) подсчитать коэффициент k (обозначим его k2). Найти значение коэффициента k без линеаризации с использованием 15 встроенной функции Minerr (по примеру с уравнением (23)). Назовем найденный коэффициент k3. Сравнить найденные коэффициенты k2 и k3. Наложить кривые функции (17) с найденными коэффициентами k2 и k3 на экспериментальные данные, расположенные на рисунке 9. Аппроксимироварь экспериментальные данные по выпечке кекса. В таблицах 5, 6, 7 приведены значения температуры T в центре тестовой заготовки кекса массой m в зависимости от времени выпечки t. Таблица 5 m=150г t T 0 295 10 299 30 320 60 360 90 379 120 382 150 383 Таблица 6 m=300 г Таблица 7 t m=450 г T t T t T t T 0 295 90 344 0 295 180 362 10 296 120 362 10 295 210 371 30 298 240 376 20 298 150 374 60 308 270 380 30 303 180 280 90 322 300 381 60 322 210 383 120 337 330 383 150 351 Нанести данные таблиц 5, 6, 7 на один график. Найти коэффициент k в формуле (17) для каждого значения массы. Нанести на этот график кривые функции (17) с найденными значениями коэффициента k. Нанести на отдельные графики значения коэффициентов k в зависимости от массы кекса и бисквита. Провести аппроксимацию k=f(m) по примеру, приведенному в работе [1]. Сравнить полученные результаты с данными в работе [1]. Литература 1. Селягин В. Е. Математические модели процесса выпечки бисквита и кекса в электромагнитном поле СВЧ. - Хранение и переработка сельхозсырья, 1995, №4, с. 21-22. Библиог. 2 назв. 2. Бермант А. Ф. Краткий курс математического анализа. М.: Наука, 1965. 664 с., ил. 16