查看原文
其他

Polymath软件的应用(二)

CUPBCEDA 化工研学社 2023-10-08

上一篇“Polymath软件的应用”提到了Polymath软件求解线性方程组和非线性方程组,本篇继续为大家介绍Polymath在微分方程、数据拟合和数值积分方面的操作方法,最后附带一个Polymath在反应工程上的示例。

微分方程组

微分方程的输入界面和非线性方程的很像,点击微分方程按钮进入输入界面,同样三种选择:“d(x)”“x=”和直接在界面输入。

以下面一道题为例:

我们以从“d(x)”界面输入演示,照着方程输入即可,需要注意的一点就是“x(0)”在这个地方代表的依然是初始值,只不过不是猜测值,是x的初始值(t=0时),输入完成后,点击done(第二个方程同理)。

与非线性方程输入的第二个不同的是,在输完两个方程后并不能直接点击计算(计算的箭头是灰色的,无法点击),还有一步就是输入计算范围,本题就需要从t=0计算到t=500从而得到t=500时的值。在左上角有一个“ini-finl”(这个键之前是灰色的,在输入完方程后就会变为黑色,可点击),点击后先输入初始值0,再输入终值500。此时就可进行计算了。(如果你还想得到图像的话,可以把右上角的“Graph”也勾选上;同样,勾选“Table”,那么就会有t从0~500对应的x和y值的表格)


以上分别是图像、报告和表格的截图,所以实际上,Polymath已经帮你把t从0~500每一个对应的x和y的值都算出来了。


数据拟合与数值积分

在反应工程的数据处理方面,实验只能得到某些点的数据,而如果我们需要通过数据得到例如动力学方程的参数时,就需要进行数据拟合。以下题为例进行演示:

分别用上述两个模型去拟合表格中的数据,得到参数的值。

数据输入

首先点击数据拟合的按钮进入界面,进行数据输入(通过操作上图画横线的地方可以修改每一列的名称,默认是C01 C02……)。完成后在右侧对模型进行输入,常用的为“Linear&Polynomial”(线性和多项式)和“Nonlinear”(非线性),以上两个模型分别为多项式和非线性模型。分别点击按钮进入输入界面,多项式模型输入非常简单,选择好自变量和因变量以及多项式次数(这里是四次多项式),进行拟合就可以得到结果了。对于非线性模型的话,就需要自己输入模型了,同时需要对模型参数进行一个猜测(initial guess)。下图就是两个模型输入和拟合结果的截图,四次多项式模型拟合结果要好于非线性模型。数据拟合在反应工程当中主要用于判断反应级数及拟合动力学参数。

四次多项式拟合及结果

非线性拟合及结果


那Polymath如何进行数值积分呢?我们就以这个例子继续介绍,如果我要对y在t从30~70进行积分(虽然可能没什么意义,在这里只是做一个数值积分的演示),在同样的界面,只需要点击右侧的Analysis,从左到右依次功能为“Interpolation”(内插)“Differentiation”(微分)“Integration”(积分)。点击“Integration”输入积分上下限后点击计算即可,这样的数值积分计算在反应工程知识里面一般采用三点积分或者五点积分完成,非常麻烦,但Polymath只需要一步就可以解决。数值积分主要在反应停留时间分布有应用。

数值积分


Polymath在反应工程中的应用示例

Polymath在反应工程中的应用很广泛,无法一一示例,这里就以最简单的例子为大家讲解一下,题目如下:

(1)通过各反应的反应速率可以表示出各物质的消耗速率或者生成速率,将其输入Polymath后,再继续输入各物质初始值、各参数数值以及计算的反应时间范围,输入完成进行计算前勾选“Graph”就可以得到结果图了。

(2)从(1)中所做的图可以看到大概在4~5h时B的浓度达到最高,那么为了使数据更加准确,需要缩小计算的反应时间范围(这里缩小为0~6h),然后在重新计算前勾选上“Table”,根据结果可以知道在t=4.6h时得到的B浓度最高。

参数修改及结果


总结

关于Polymath的基本应用的介绍就正式完结了,这款软件虽然小,但能处理的问题却很多,它的更多应用就等待大家去发掘了!文章最后将提供相关资源以及本篇推送涉及到的案例的源文件,以供大家学习使用。公众号后台回复“化反”即可获取相关百度云链接。


往期回顾(Polymath软件的应用)


the end


本期编辑:叶    阳

本期排版:伍青林



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存