- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验数据的数值积分问题.doc
实验数据的数值积分问题
用不同温度下固体铅的定压热容数据,求298K时的绝对熵。数据见下表:
由热力学方法可知,绝对熵与定压热容有如下关系:
采用MATLAB来计算,这里将最小二乘B样条拟合法和三次样条插值函数计算作比较,命令行程序如下:
function Entropy_Int
clear all
clc
% 读入数据
T = [5. 10. 15. 20. 25. 30. 50. 70. 100. 150. 200. 250. 298.];
Cp = [0.305 2.8 7.0 10.8 14.1 16.5 21.4 23.3 24.5 25.4 25.8 26.2 26.5];
CpT = Cp./T;
T = [0 T]; CpT = [0 CpT];
% 用最小二乘B样条拟合法和三次样条插值函数计算
knots = 3; K = 3; % 三次B样条
sp = spap2(knots,K,T,CpT);
cs = csapi(T,CpT); % 生成三次样条插值函数cs
% 绘制浓度拟合曲线
Ti = linspace(T(1),T(end),299);
CpT_B = fnval(sp,Ti);
CpT_c = fnval(cs,Ti);
plot(T,CpT,ro,Ti,CpT_B,b-,Ti,CpT_c,Bl-.)
xlabel(T)
ylabel(Cp/T)
legend(实验值,B样条拟合,立方样条拟合)
% 进行数值积分
pp = fnint(cs);
s = fnval(pp,T)
s =
0 0.0433 0.8733 2.7820 5.3352 8.1104 10.9071
20.7236 28.2599 36.8085 46.9207 54.2919 60.0880 64.7233
在解决本问题时,需首先要考虑积分下限,即时的情形,因此时的为0/0。为此,可考虑先求出接近0K时的数值。可有多种方法此数值,如通过图的样条插值曲线读出,或采用回归拟合以及插值计算的方法。这里采用上述方法得到的数值是,。由于本题的温度数据间隔不等,直接采用样条插值积分是一较好的方法。运用IMSL数学库中的样条插值CSINT和依据样条插值系数的积分CSITG,可以求得绝对熵,下面给出调用的主程序和计算结果。
C To obtain the absolute entropy of solid lead at 298 K from
C the experimental data of the heat capacity at constant pressure CP of
C solid lead at various temperatures up to and including 298 K
C by the cubic spline interpolant and integration from IMSL library.
C the absolute entropy in CRC Handbook of Chemistry and Physics is 64.8 J K-1 mol-1.
INTEGER NDATA, I, NINTV, NOUT
PARAMETER (NDATA=14)
REAL A, B, BREAK(NDATA), CSCOEF(4,NDATA), CSITG, ERROR,
EXACT, F, FDATA(NDATA), FI, FLOAT, VALUE, X, XDATA(NDATA)
INTRINSIC FLOAT
EXTERNAL CSINT, CSITG, UMACH
DATA (XDATA(I),I=1,NDATA)/0.05,5.,10.,15.,20.,25.,30.,50.,
70.,100.,150.,200.,250.,298./
DATA (FDATA(I),I=1,NDATA)/0.003,0.305,2.8,7.0,10.8,14.1,16.5,
21.4,23.3,24.5,25.4,25.8,26.2,26.5/
C Compute cubic spline interpolant
DO 10 I=1,NDATA
FDATA(I)=FDATA(I)/XDATA(I)
10 CONTINUE
C cubic spline interpolant
CALL CSINT (NDATA, XDATA, FDATA, BREAK, CSCOEF)
C cubic spline integra
文档评论(0)