а). Поскольку в качестве единицы измерения мы выбрали минуту, размерностью коэффициента остывания r будет мин-1. Можно заметить, что в результате использования в программе Cool значения r = 0,1 мин-1 получается кривая охлаждения T(t), которая не соответствует данным, приведенным в табл.2.2. Используйте различные значения константы r для нахождения приближенного значения, соответствующего “реальным” данным. приведенным в табл.2.2. Убедитесь в том, что выбранное вами значение t достаточно мало и не оказывает влияния на получающуюся у вас зависимость температуры от времени.
Зададимся следующими вопросами.
- Является ли Ваше значение величины r правдоподобным?
- Применим ли закон Ньютона к чашечке кофе?
- В тех случаях, когда коэффициент r гораздо больше или меньше единицы, что это говорит о нашем выборе единиц измерения времени?
- Увеличилось или уменьшилось бы значение коэффициента остывания r, если бы чашка была со специальной теплоизоляцией?
б). Начальная разность температур между кофе и окружающей средой равна 610С. Сколько времени надо остужать кофе, чтобы эта разность температур составила 61/2 = 30,50С? Через какое время разность температур уменьшится до 61/4 и до 61/8? Прежде чем проводить вычисления на компьютере, попытайтесь из простых соображений предугадать свои результаты.
в). Используйте значение коэффициента r, найденное в п.“а” и постройте график зависимости температуры от времени. Нанесите на тот же график данные из табл. 2.2. и сравните свои результаты. Хотя в разд. 2.7. мы научимся писать программы для построения графиков, неплохо будет предварительно построить графики вручную, чтобы “прочувствовать” свои данные.
г). Предположим, что начальная температура кофе 900С, однако наслаждаться кофе можно, когда температура опустится ниже 750С. Допустим, что при 900С добавление молока понижает температуру кофе на 50С. Если Вы торопитесь и хотите охладить кофе как можно быстрее, будете ли вы добавлять сначала молоко и ждать, пока кофе остынет, или же подождете до тех пор, пока кофе остынет до 800С, а затем добавите молоко? Несмотря на то что Вы, возможно, уже знаете ответ, используйте свою подпрограмму для” моделирования” этих двух случаев. Выберите значение коэффициента r, соответствующее реальной чашке кофе. Такой способ моделирования “что будет, если” применительно к “динамическим системам” часто используется в стратегических исследованиях.
Устойчивость и точность
Мы применили метод Эйлера для численного решения дифференциального уравнения первого порядка и теперь необходимо сформулировать некоторые практические рекомендации, которые позволят оценить точность метода. Поскольку дифференциальное уравнение заменяется его разностным аналогом, то естественно, что численное решение не может совпадать с истинным решением исходного дифференциального уравнения. В общем случае отклонение от точного решения обусловлено двумя причинами. Компьютеры не оперируют с вещественными числами (например, десятичными числами с дробной частью) бесконечной точности, а представляют числа с некоторым конечным числом десятичных цифр, определяемых аппаратными средствами компьютера или программным обеспечением. Арифметические операции, такие, как сложение или деление, оперирующие с вещественными числами, могут приводить к дополнительной погрешности, которая называется погрешностью округления. Они накапливаются по мере роста объема вычислений. В принципе мы выбрали алгоритмы, в которых погрешность округления заметным образом не накапливается, например мы старались не использовать вычитание чисел одного порядка.
Другой источник отклонения численного решения от точного обусловлен выбором алгоритма, а не точностью компьютера. В некоторых книгах по численному анализу такая погрешность называется погрешностью приближения. Поскольку эти погрешности зависят от выбора алгоритма, необходимо глубже изучить численный анализ и оценки погрешностей приближения. Тем не менее не существует никакого общего рецепта для выбора “наилучшего” метода численного решения дифференциальных уравнений. В дальнейшем мы убедимся в том, что у каждого метода имеются свои достоинства и недостатки, а надлежащий выбор определяется Вашими требованиями и характером конкретного решения, который может быть заранее не известен. Насколько точным должен быть ответ? На каком интервале требуется получить решение задачи? Какой компьютер имеется у Вас в наличии? Сколько потребуется машинного и личного времени для решения задачи?
Практически точность численного решения определяют, уменьшая величину шага Dt до тех пор, пока численное решение не перестанет зависеть от шага при требуемом уровне точности. Само собой разумеется, необходимо осторожно выбирать величину шага, так как в случае очень малого Dt слишком сильно увеличивается число шагов, а значит, возрастают машинное время и погрешность округления.
Наряду с точностью алгоритма другой важной характеристикой представляется его устойчивость. Например, может случиться так, что численные результаты находятся в хорошем соответствии и “истинным” решением на малых временах, а набольших временах отклоняются от него. Такое отклонение может происходить из-за того, что малые погрешности в алгоритме, многократно перемножаясь, приводят к геометрическому росту погрешности. Для конкретных задач такой алгоритм называется неустойчивым. В следующей задаче обсуждаются точность и устойчивость метода Эйлера.