您好,欢迎访问三七文档
第五章实验数据及模型参数拟合方法第五章实验数据及模型参数拟合方法第一节问题的提出第一节问题的提出在化工设计及化工模拟计算中,需要大量的物性参数及各种设备参数。这些参数有些可以通过计算得到,但大量的参数还是要通过实验测量得到。实验测量得到的常常是一组离散数据序列(xi,yi)。如果数据序列(xi,yi)(为一般起见),i=1,2,…,m,含有不可避免的误差(或称“噪声”,如图5-1所示),或者无法同时满足某特定的函数(如图5-2所示),那么,只能要求所作逼近函数ψ(x)最优地靠近样点,即向量Q=(ψ(x1),ψ(x2),…,ψ(xm))T与Y=(y1,y2,…,ym)T的误差或距离最小。按Q与Y之间误差最小原则作为“最优”标准构造的逼近函数,称为拟合函数。第一节问题的提出-202468101214161820050100150200YX024681005101520YX图5-1含有噪声的数据图5-2无法同时满足某特定函数的数据序列第一节问题的提出除了物性数据及设备参数需要利用数据拟合外,在化学化工中,许多模型也要利用数据拟合技术,求出最佳的模型和模型参数。如在某一反应工程实验中,我们测得了如表5-1所示的实验数据。序号12345678温度T1020304050607080转化率y0.10.30.70.940.950.680.340.13现在要确定在其他条件不变的情况下,转化率y和温度T的具体关系,现拟用两种模型去拟合实验数据,两种模型分别是2111TcTbay2222)45(Tbacy第一节问题的提出如何求取上述模型中的参数,并判断两种模型的优劣,是化学化工工作者经常要碰到的问题,这个问题的求解将在本章下面的有关章节中进行详细的讲解。2111TcTbay2222)45(Tbacy第二节拟合的标准第二节拟合的标准前面已经提到按Q与Y之间误差最小原则作为“最优”标准构造的逼近函数,称为拟合函数,而向量Q与Y之间的误差或距离有各种不同的定义方法,一般有以下几种。(1)用各点误差绝对值的和表示(2)用各点误差按绝对值的最大值表示(3)用各点误差的平方和表示miiiyxR11)(iimiyxR)(max122212Y-Q(x)R))((或imiiyxRR式中R称为均方误差。由于计算均方误差的最小值的原则容易实现而被广泛采用。按均方误差达到极小构造拟合曲线的方法称为最小二乘法。同时还有许多种其他的方法构造拟合曲线,感兴趣的读者可参阅有关教材。本章主要讲述用最小二乘法构造拟合曲线。第二节拟合的标准第二节拟合的标准__实例1实验测得二甲醇(DME)的饱和蒸气压和温度的关系,见表5-2。序号温度℃蒸气压MPa1-23.70.1012-100.174300.2544100.3595200.4956300.6627400.880表5-2DME饱和蒸气压和温度的关系-30-20-10010203040500.00.20.40.60.81.0pt由表5-2的数据观测可得,DME的饱和蒸气压和温度有正相关关系,如果以函数p=a+bt来拟合,则拟合函数是一条直线。通过计算均方误差Q(a,b)最小值而确定直线方程。(见图5-3)图5-3DME饱和蒸汽压和温度之间的线性拟合第二节拟合的标准__实例12121)())((),(imiiimiipbtaptpbaQ拟合得到直线方程为:相关系数R为0.97296,平均绝对偏差SD为0.0707。tp0.01210.30324拟合的标准——实例2如果采用二次拟合,通过计算下述均方误差拟合得二次方程为相关系数R为0.99972,平均绝对偏差SD为0.00815,具体拟合曲线见图5-4。21221012210)())((),,(imiiimiiiptataaptpaaaQ2000150009570248450t.t..p-30-20-10010203040500.00.20.40.60.81.0y=0.24845+0.00957x+0.00015x2压力,P(MPa)温度,t(℃)图5-4DME饱和蒸气压和温度之间的二次拟合拟合的标准实例2比较图5-3和图5-4以及各自的相关系数和平均绝对偏差可知:对于DME饱和蒸汽压和温度之间的关系,在实验温度范围内用二次拟合曲线优于线性拟合。二次拟合曲线具有局限性,由图5-4观察可知,当温度低于-30℃时,饱和压力有升高的趋势,但在拟合的温度范围内,二次拟合的平均绝对偏差又小于一次拟合,故对物性数据进行拟合时,不仅要看在拟合条件下的拟合效果,还必须根据物性的具体性质,判断在拟合条件之外的物性变化趋势,以便使拟合公式在已做实验点数据之外应用。第三节单变量拟合和多变量拟合给定一组数据(xi,yi),i=1,2,…,m,作拟合直线p(x)=a+bx,均方误差为2121)())((),(imiiimiiybxayxpbaQ由数学知识可知,Q(a,b)的极小值需满足:0)(2),(1imiiybxaabaQ0)(2),(1iimiixybxabbaQ整理得到拟合曲线满足的方程:mimimiiiiimimiiiyxbxaxybxma111211)()()(5.3.1单变量拟合1.单变量拟合——线性拟合1.单变量拟合——线性拟合该方程可用消元法或克莱姆方法解出方程(如下式所示)))(()())(/()(2112111211211121121112111mimiiimimiimiiiimiimiimiiimiimiimiimiimiimiimiimiiimiimiixxmyxyxmbxxmyxxxyxxxmxyxxya单变量拟合——线性拟合实例例:下表为实验测得的某一物性和温度之间的关系数据,表中x为温度数据,y为物性数据。请用线性函数拟合温度和物性之间的关系。解:设拟合直线p(x)=a+bx,并计算得下表:x7911131517192123252729y91215182124273033363942x313335373941434547y454851545760636669编号xyxyx212345…21Σ79111315…47567912151821…6981963108165234315…3243267334981121169225…220918389将数据代入法方程组(1-12)中,得到:解方程得:a=-1.5,b=1.5拟合直线为:267338191838956756721bax.p(x)5.151相关系数R为1。单变量拟合——线性拟合实例线性拟合VB清单PrivateSubCommand1_Click()Dimx(5),y(5),c,d,m,p,a,b,eerConstn=5Fori=1To5x(i)=InputBox(“x(i)=”)y(i)=InputBox(“y(i)=”)Print“x(i)=”;x(i)Print“y(i)=”;y(i)NextIc=0d=0m=0p=0Fori=1To5c=c+x(i)d=d+x(i)^2m=m+y(i)p=p+x(i)*y(i)Nextia=(m*d-c*p)/(n*d-c^2)b=(n*p-c*m)/(n*d-c^2)‘参数计算a=Int(a*1000+0.5)/1000b=Int(b*1000+0.5)/1000Text1.Text=Str(a)Text2.Text=Str(b)‘参数输出Fori=1To5eer=eer+(a+b*x(i)-y(i))^2‘误差计算eer=Int(eer*100000+0.5)/100000Nextieer=eer/5Text3.Text=Str(eer)EndSub有关线性拟合变型问题例如要拟合y=a+b/x2,只需在数据输入后增加一语句x(i)=1/x(i)^2,而在程序后面的误差eer的计算中则不需要修改。2.单变量拟合二次拟合函数给定数据(xi,yi),i=1,2,…,m,用二次多项式函数拟合这组数据。设,作出拟合函数与数据序列的均方误差表达式2210xaxaap(x)21221012210)())((),,(imiiimiiiyxaxaayxpaaaQ由数学知识可知,Q(a0,a1,a2)的极小值满足:miiiiimiiiiimiiiixyxaxaaaQxyxaxaaaQyxaxaaaQ12221021221011221000)(20)(20)(2整理左式得二次多项式函数拟合的满足条件方程(5-14):miiimiiimiimiimiimiimiimiimiimiimiiyxyxyaaaxxxxxxxxm121121014131213121121(5-14)解此方程得到在均方误差最小意义下的拟合函数p(x)。式(5-14)称为多项式拟合的法方程,法方程的系数矩阵是对称的。当拟合多项式n5时,法方程的系数矩阵是病态的,在用通常的迭代方法求解线性方程时会发散,在计算中要采用一些特殊算法以保护解的准确性。关于线性方程的求解方法,已在第三章中介绍。2.单变量拟合二次拟合函数3.二次拟合函数的拓展和一次拟合一样,二次拟合也可以有多种变型,例如套用上面的公式,可以得到关于求解此拟合函数的法方程(5-15)。值得注意的是在此法方程的构建过程中,进行了变量的代换。首先是拟合函数中变量的代换:。P(x)=a0+a1x3+a2x5253,xxxxmiiimiiimiimiimiimiimiimiimiimiimiiyxyxyaaaxxxxxxxxm1513121011018151815131513(5-15)其次是法方程的代换:将相应拟合函数中的代换引入法方程中。同时应注意法方程中x的4次幂是由两个2次幂相乘得到,x的3次幂是由一个2次幂和一个1次幂相乘得到,而2次幂就是变量本身,而非两个1次幂相乘得到。这个概念至关重要,在以后的二次拟合的各类变型中,均需利用这个概念,千万不要用常规的思路去进行代入计算。3.二次拟合函数的拓展如果我们需要求解是下面的拟合函数:5.1110)273(273lnxbxaaymiiimiiimiimiimiimiimiimiimiimiimiiyxxyyaaaxxxxxxxxm15.1112101315.015.115.015.1115.11]ln)273[(273lnln)273()273()273()273()273(2731)273(2731参照上面的方法,我们很容易得到求解该拟合函数的法方程3.二次拟合函数的拓展4.二次拟合实例请用二次多项式函数拟合下面这组数据。解:设并计算得下表序号1234567x-3-2-10123y4230-1-2-52210xaxaap(x)序号xyxyX2X2yX3X41-34-12936-27812-22-448-8163-13-313-114000000051-1-11-11162-2-44-881673-5-159-452781Σ01-3928-701964.二次拟合实例将上面数据代入式(5-14),相应的法方程为7
本文标题:线性拟合方法
链接地址:https://www.777doc.com/doc-2057163 .html