Рис. 3 - Вычисление неопределенного интеграла в Mathcad
Подобная задача легко выполняется и в пакете Mathematica с помощью функций Е или Exp
Рис. 4 - Вычисления в Mathematica
В отличие от Mathcad, пакет Mathematica великолепно проводит аналитические вычисления. Так предыдущий интеграл можно взять, используя соответствующую пиктограмму из палитры (Рис. 5(а)) или с помощью функции Integrate (Рис. 5(б) ) [1, 2]:
а | б |
Рис. 5 – Вычисление неопределенного интеграла в Mathematica
Следует также указать, что для решения задач в аналитическом виде использование пакета Mathematica предпочтительнее. Например, более сложный интеграл
Mathcad уже взять не в состоянии (Рис. 6(а)), в отличие от Mathematica (Рис. 6(б)): а | б |
Рис. 6 - Вычисление неопределенного интеграла: а – в среде Mathcad (интеграл вычислить
нельзя: приложение выдает indef_int(f(x), x)); б – в среде Mathematica
Удобнее записать уравнение в параметрическом виде и, меняя значение параметров, получать разные ответы. Например, записав один раз формулу:
и меняя значения Т, можно получить значения Крпри разной температуре.
Для этого сначала необходимо определить переменные. В Mathcad есть несколько особенностей определения переменных:
· Оператор присвоения (:=) вводится нажатием двоеточия “:” либо, если переменная не используется системой, нажатием знака равенства “=”. Оператор присвоения определяет переменную только для расчетов, идущих ниже.
· оператор глобального присвоения (≡), вызываемый нажатием “~”.применяется, если требуется определить переменную для использования во всем документе [6].
Введем следующие выражения:
Рис. 7 – Решение выражения с присвоением переменных в Mathcad
Здесь подстрочный символ для Кр вводится нажатием точки “.”, а символы Δ можно взять мышкой с панели “Greek” или набрать заглавную D и нажать Ctrl+G. Сочетание клавиш Ctrl+G превращает стоящую впереди букву в символ греческого алфавита.
Переменным можно присваивать любые имена, но без пробелов. Задавать значения переменной можно не только численно. Например, выбрав на панели “Controls” инструмент “Slider” (Рис. 8) и присвоив его переменной а. Теперь, передвигая движок, можно изменять значения а, что весьма удобно и наглядно.
Рис. 8 – Присвоение переменной в Mathcad с помощью инструмента Slider
Диапазон значений (по умолчанию от 0 до 100) можно менять, кликнув по движку правой кнопкой мыши и выбрав “Mathsoft Slider Control > Properties”.
Mathematica выполняет описанные выше операции также легко и удобно.
Принципиального отличия в присвоении переменной значений в Mathematica нет. Если выражение использует «=» или функцию Set[], программа немедленно заменяет переменную на установленное значение. Выражение «:=» или SetDelayed возвращает значение, когда функция вызывается. Решение представленной задачи в Mathematica будет иметь вид:
Рис. 9 - Решение выражения с присвоением переменных в Mathematica
3.2. Решение функциональных уравнений и построение графиков
Уравнения с параметрами очень удобны, если требуется вычислить лишь одно или несколько значений функции. Но что если нам требуется вычислить значения функции в ста точках и построить график? Можно, конечно постараться, сто раз подставляя значения аргумента и записывая значения функции, но это – весьма нерационально.
Пусть, например, перед нами стоит задача вычислить энтальпию образования кальцита CaCO3 в диапазоне температур 300-1000 K. Здесь, очевидно, нам придется воспользоваться эмпирической зависимостью теплоемкости от температуры:
Сначала запишем значение энтальпии при 298 К (ΔН298) и определите область значений независимой переменной Т (температура). В Mathcad это выглядит следующим образом: имя переменной, оператор присвоения, первое число диапазона, запятая, второе число диапазона, «многоточие» последнее число диапазона. Многоточие вводится через символ точки с запятой “;”. Итак, в данном случае выражение для ввода Т будет следующим:
T:=300,325..1000
Второе число диапазона вводится для определения шага изменения переменной (в нашем случае 25 градусов). Если не вводить его, Mathcad будет по умолчанию считать с дискретизацией 1 (300, 301, 302…).
Теперь определите теплоемкость как функцию от температуры. В Mathcad запись абсолютно аналогична написанию на бумаге Сp(T). Теперь при вызове значений Срчерез
C.p=
Mathcad возвращает ответ Ср=function, что позволяет Вам рассчитать значение Сpдля любой температуры Т. Так, например, для температуры 300 K рассчитывается Сp(200) = 44,054:
Рис. 10 – Решение функционального уравнения в Mathcad
Теперь определим энтальпию как функцию температуры. Для вставки значка определенного интеграла воспользуйтесь панелью “Calculus” либо нажмите символ “&” (Shift+7).
Выбор метода численного интегрирования по умолчанию возложен на программу. Тем не менее, кликнув правой кнопкой мышки по значку интеграла, можно выбрать в контекстном меню один из четырех имеющихся методов.
Для построения графика можно либо выбрать в меню “Insert > Graph” пункт “X–Y Plot” либо нажать знак “@” (“Shift+2”). По оси абсцисс укажите имя независимой переменной (в данном случае Т), по оси ординат – имя функции (ΔН(T)) (Рис. 11). Также можно построить. не зависимость ΔH(T) от Т, а, например, зависимость ln(ΔH(T)) от 1/Т. Все, что для этого нужно, – поменять подписи по осям, Mathcad поймет, чего мы хотим [6, 7].
Рис. 11 – Построение графика функции ΔH(T) в Mathcad
Для построения графиков в другой программе (Excel, Origin) можно вызвать столбцы значений Т и ΔH(T) и скопировать их в буфер обмена.
Данная задача решается в Mathematica также с присвоением значений необходимых переменных и и дальнейшего интегрирования (Рис. 12). Для построения графика, в отличие от Mathcad, в котором график строится наглядно при назначении переменной (по оси Х) и функции (по оси Y), нужно воспользоваться дополнительной функцией Plot[Evaluate[]] с указанием диапазона значений переменной и функции:
Рис. 12 - Решение функционального уравнения и построения графика функции в Mathematica
В целом, построение графиков простых зависимостей проще выполнять в Mathcad, благодаря более удобному интерфейсу.
3.3. Решение трансцендентных уравнений
Уравнения, содержащее трансцендентные функции (показательные, тригонометрические, логарифмические, обратные тригонометрические) от неиз-
вестного (переменного), например, , и системы подобных уравнений,
весьма распространены в химической термодинамике. В аналитическом виде подобные уравнения не решаются, а метод последовательных приближений очень трудоемок и не всегда обеспечивает приемлемую точность. Посмотрим, чем может в данном случае помочь Mathcad.
Пусть требуется найти температуру, при которой давление паров воды составляет ровно 5,00 атм., не пренебрегая зависимостью энтальпии и энтропии от температуры.
Необходимо определить переменные: оценку ожидаемой температуры, теплоемкость, энтальпию и энтропию образования жидкой и твердой воды и записать уравнение для давления пара, как это сделано на рисунке 13. Здесь индекс “liq” относится к параметрам жидкой воды, индекс “gas” – газообразной. При первоначально выбранной температуре 150 оС давление насыщенного пара равно 4,4 атм, значит, верное значение где-то близко.
Можно подбирать Т, следя за изменением Р, а можно сделать удобнее и быстрее. Для решения уравнений и систем уравнений в Mathcad используется блок решения “given – find” (“дано – найти”). Запишем слово given, под ним введем наше условие: выражение для давления насыщенного пара, знак «булева равенства =» и требуемое значение этого выражения, т. е. 5 (Рис. 13). Теперь скомандуем программе «найди решение относительно Т», для этого вводим строчку [6]: