matlab数学实验报告5
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学实验报告
制作成员班级学号
2011年6月12日
培养容器温度变化率模型
一、实验目的
利用matlab软件估测培养容器温度变化率
二、实验问题
现在大棚技术越来越好,能够将温度控制在一定温度范围内。为利用这种优势,实验室现在需要培植某种适于在8.16℃到10.74℃下能够快速长大的甜菜品种。为达到实验所需温度,又尽可能地节约成本,研究所决定使用如下方式控制培养容器的温度:1,每天加热一次或两次,每次约两小时;
2,当温度降至8.16℃时,加热装置开始工作;当温度达到10.74℃时,加热装置停止工作。
已知实验的时间是冬天,实验室为了其它实验的需要已经将实验室的温度大致稳定在0℃。下表记录的是该培养容器某一天的温度
时间(h)温度(℃)时间(h)温度(℃)09.68 1.849.31
0.929.45 2.959.13
3.878.981
4.989.65
4.988.811
5.909.41
5.908.691
6.839.18
7.008.5217.938.92
7.938.3919.048.66
8.978.2219.968.43
9.89加热装置工作20.848.22
10.93加热装置工作22.02加热装置工作10.9510.8222.96加热装置工作12.0310.5023.8810.59
12.9510.2124.9910.35
13.889.9425.9110.18
三、建立数学模型
1,分析:由物理学中的傅利叶传热定律知温度变化率只取决于温度
差,与温度本身无关。因为培养容器最低温度和最高温度分别是:8.16℃和10.74℃;即最低温度差和最高温度差分别是:8.16℃和10.74℃。而且,16.8/74.10≈1.1467,约为1,故可以忽略温度对温度变化率的影响2,
将温度变化率看成是时间的连续函数,为计算简单,不妨将温度变化率定义成单位时间温度变化的多少,即温度对时间连续变化的绝对值(温度是下降的),得到结果后再乘以一系数即可。
四、问题求解和程序设计流程1)温度变化率的估计方法
根据上表的数据,利用matlab 做出温度-时间散点图如下:
下面计算温度变化率与时间的关系。由图选择将数据分三段,然后对每一段数据做如下处理:设某段数据为{(0x ,0y ),(1x ,1y ),(2x ,
2y ),…,(n x ,n y )},相邻数据中点的平均温度变化率采取公式:
温度变化率=(左端点的温度-右端点的温度)/区间长度算得即:v(
2
1i
i x x ++)=(1+-i i y y )/(i i x x -
+1).
每段首尾点的温度变化率采用下面的公式计算:v(0x )=(30y -41y +2y )/(2x -0x )v(n x )=(3n y -41+n y +2+n y )/(n x -2-n x )
用以上公式计算得温度变化率与时间的数据表如下:
时间(h)温度变化率
(2
10-℃/h)时间(h)温度变化率
(2
10-℃/h)
029.8913.4229.03
0.4621.7414.4326.36
1.3818.4815.4426.09
2.39516.2216.3724.73
3.4116.3017.3823.64
4.4251
5.3218.4923.42
5.4413.0419.5025.00
6.4515.4520.4023.86
7.46519.9820.8422.17
8.4516.3522.02加热装置工作
8.9719.2922.96加热装置工作
9.98加热装置工作23.8827.09
10.93加热装置工作24.4321.62
10.9533.5025.4518.48
11.4929.6325.9113.30
12.4931.52
根据上表作出温度变化率-时间散点图如下:
下面分别利用数据插值法和数据拟合法两种方法来估计温度变化率1)数据插值法
对上表即温度变化率与时间的数据表加热装置不工作时段1和加热装置不工作时段2采用插值法,可以得到任意时刻的温度变化率;
编写matlab程序如下:
t=[0,0.46,1.38,2.395,3.41,4.425,5.44,6.45,7.465,8.45,8.97];
v=[29.89,21.74,18.48,16.22,16.30,15.32,13.04,15.45,13.98,16.35, 19.27];
t0=0:0.1:8.97;
lglr=lglrcz(t,v,t0);
lglrjf=0.1*trapz(lglr)
fdxx=interp1(t,v,t0);
fdxxjf=0.1*trapz(fdxx)
scyt=interp1(t,v,t0,'spline');
sancytjf=0.1*trapz(scyt)
plot(t,v,'*',t0,lglr,'r',t0,fdxx,'g',t0,scyt,'b')
gtext('lglr')
gtext('fdxx')
gtext('scyt')
其中使用了lglrcz.m文件lglrcz.m的代码是:
function y=lglrcz(x0,y0,x)
n=length(x0);
m=length(x);
for i=1:m
z=x(i);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=p*y0(k)+s;
end
y(i)=s;
end
程序执行后显示结果:
如图曲线lglr,fexx,scyt分别表示用拉格朗日插值法,分段线形插值法和三次样条插值法对第一加热时段数据插值得到的温度变化率-时间线。