Смекни!
smekni.com

«математические пакеты mathcad и mathematica в решении прикладных химических задач» (стр. 3 из 6)

Рис. 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]: