《数学模型与实验(三) 》实验报告 实验二 模型二 数据插值和数据拟合实验
报告人:学号: 姓名:
一、 实验目的
1.了解数据插值和数据拟合在实际问题中的应用; 2.掌握用MATLAB 求解数据插值和数据拟合问题 二、实验内容
1、一维插值问题
在化学工程中经常会遇到计算高温状态下蒸汽压力和温度的问题,但是考虑到测量设备等的限制,我们希望利用低温状态下的压力等有关数据进行外推。表1给出了氨蒸汽的一组温度和压力数据。请用三次样条插值方法从所列的数据中计算75OC 氨蒸汽的压力并画出0到100度的曲线图?
表1氨蒸汽的压力和温度
温度(C ) 20 25 30 35 40 45 50 55 60 压力(kN/m2) 805 985 1170 1365 1570 1790 2030 2300 2610
2、二维插值问题 山区地貌图
在某山区(平面区域(0,2800)x (0,2400)内,单位:米) 测得一些地点的高程(单位:米)如表4.12所示,试作出该山区的地貌图和等高线图.
O
要求:使用数据插值方法作出该山区的地貌图和等高线图
3、曲线拟合问题
用电压V =14伏的电池给电容器充电,电容器上t 时刻的电压满足:v (t ) =V -(V -V 0) e
-t
τ
,
其中,使用下列数据用最小二乘法拟合确定V 0和τ,V 0是电容器的初始电压,τ是充电常数,并画出曲线图。
表2 t时刻电容器的电压v (t )
4、薄膜渗透率的测定
某种医用薄膜有允许一种物质的分子穿透它,从高浓度的溶液向低浓度的溶液扩散的功能,在试制时,需要测定薄膜被这种分子穿透的能力。测定方法如下:
用面积S 的薄膜将容器分成体积分别为V A ,V B 的两部分,在两部分中分别注满该物质的两种不同浓度的溶液。此时该物质分子就会从高浓度溶液穿过薄膜向低浓度溶液中扩散。通过单位面积膜分子扩散的速度与膜两侧溶液的浓度差成正比,比例系数K 表示薄膜被该物质分子穿透的能力,称为渗透率。定时测量容器中薄膜某一侧的溶液浓度值,以此确定K 的值。 (1)试用数学建模的方法解决K 值的求解问题
(2)已知通过试验,V A =VB =1000cm3,S=10cm2, 容器的A 部分溶液浓度的测试结果如下表(其中C j 的单位为毫克/cm3)
三、问题分析与求解 1. 问题1求解 ①求解程序 x=20:5:60;
y=[805,985,117,1365,1570,1790,2030,2300,2610]; x1=75;
y1=interp1(x,y,x1,'spline'); xi=0:2:100;
yi=interp1(x,y,xi,'spline'); plot(x,y,'*',xi,yi)
②运行结果
y1=3.3766e+03
2、问题2求解
①求解程序
y=0:400:2400;x=0:400:2800; [x,y]=meshgrid(x,y);
z=[1180,1320,1450,1420,1400,1300,700,900; 1230,1390,1500,1500,1400,900,1100,1060; 1270,1500,1200,1100,1350,1450,1200,1150; 1370,1500,1200,1100,1550,1600,1550,1380; 1460,1500,1550,1600,1550,1600,1600,1600; 1450,1480,1500,1550,1510,1430,1300,1200; 1430,1450,1470,1320,1280,1200,1080,940]; figure surf(x,y,z)
[xi,yi]=meshgrid(0:50:2800,0:50:2400); zi=interp2(x,y,z,xi,yi,'spline'); figure meshz(xi,yi,zi) xlabel('x') ylabel('y') zlabel('高度')
axis([0 2800 0 2400 0 1600]); title('某山区地貌图') contour(x,y,z,50) ② 运行结果
3、问题3求解
M 文件
function y=fname(a,t)
y=14-(14-a(1))*exp(-t*a(2)^(-1));
拟合程序
tk=[0.3 0.5 1.0 2.0 4.0 7.0];
vk=[5.6873 6.1434 7.1633 8.8626 11.0328 12.6962];
a=lsqcurvefit('fname' ,[1,1],tk,vk); x=0:0.1:8; y=fname(a,x); plot(tk,vk,'*',x,y); a
或
tk=[0.3 0.5 1.0 2.0 4.0 7.0];
vk=[5.6873 6.1434 7.1633 8.8626 11.0328 12.6962]; a=lsqcurvefit('fname' ,[1,1],tk,vk) x=0:0.1:8; y=fname(a,x); plot(tk,vk,'*',x,y);
4、薄膜渗透率的测定
(1)数学模型
M 文件
function f=curvefun1(x,tdata)
f=x(1)+x(2)*exp(-0.02*x(3)*tdata) 程序
tdata=100:100:900;
cdata=1e-05*[6.50,6.39,6.26,6.10,5.90,5.65,5.35,4.99,4.54]; x0=[0.2,0.05,0.05];
x=curvefit('curvefun1',x0,tdata,cdata); f=curvefun1(x,tdata); x,f
四 、实验总结
《数学模型与实验(三) 》实验报告 实验二 模型二 数据插值和数据拟合实验
报告人:学号: 姓名:
一、 实验目的
1.了解数据插值和数据拟合在实际问题中的应用; 2.掌握用MATLAB 求解数据插值和数据拟合问题 二、实验内容
1、一维插值问题
在化学工程中经常会遇到计算高温状态下蒸汽压力和温度的问题,但是考虑到测量设备等的限制,我们希望利用低温状态下的压力等有关数据进行外推。表1给出了氨蒸汽的一组温度和压力数据。请用三次样条插值方法从所列的数据中计算75OC 氨蒸汽的压力并画出0到100度的曲线图?
表1氨蒸汽的压力和温度
温度(C ) 20 25 30 35 40 45 50 55 60 压力(kN/m2) 805 985 1170 1365 1570 1790 2030 2300 2610
2、二维插值问题 山区地貌图
在某山区(平面区域(0,2800)x (0,2400)内,单位:米) 测得一些地点的高程(单位:米)如表4.12所示,试作出该山区的地貌图和等高线图.
O
要求:使用数据插值方法作出该山区的地貌图和等高线图
3、曲线拟合问题
用电压V =14伏的电池给电容器充电,电容器上t 时刻的电压满足:v (t ) =V -(V -V 0) e
-t
τ
,
其中,使用下列数据用最小二乘法拟合确定V 0和τ,V 0是电容器的初始电压,τ是充电常数,并画出曲线图。
表2 t时刻电容器的电压v (t )
4、薄膜渗透率的测定
某种医用薄膜有允许一种物质的分子穿透它,从高浓度的溶液向低浓度的溶液扩散的功能,在试制时,需要测定薄膜被这种分子穿透的能力。测定方法如下:
用面积S 的薄膜将容器分成体积分别为V A ,V B 的两部分,在两部分中分别注满该物质的两种不同浓度的溶液。此时该物质分子就会从高浓度溶液穿过薄膜向低浓度溶液中扩散。通过单位面积膜分子扩散的速度与膜两侧溶液的浓度差成正比,比例系数K 表示薄膜被该物质分子穿透的能力,称为渗透率。定时测量容器中薄膜某一侧的溶液浓度值,以此确定K 的值。 (1)试用数学建模的方法解决K 值的求解问题
(2)已知通过试验,V A =VB =1000cm3,S=10cm2, 容器的A 部分溶液浓度的测试结果如下表(其中C j 的单位为毫克/cm3)
三、问题分析与求解 1. 问题1求解 ①求解程序 x=20:5:60;
y=[805,985,117,1365,1570,1790,2030,2300,2610]; x1=75;
y1=interp1(x,y,x1,'spline'); xi=0:2:100;
yi=interp1(x,y,xi,'spline'); plot(x,y,'*',xi,yi)
②运行结果
y1=3.3766e+03
2、问题2求解
①求解程序
y=0:400:2400;x=0:400:2800; [x,y]=meshgrid(x,y);
z=[1180,1320,1450,1420,1400,1300,700,900; 1230,1390,1500,1500,1400,900,1100,1060; 1270,1500,1200,1100,1350,1450,1200,1150; 1370,1500,1200,1100,1550,1600,1550,1380; 1460,1500,1550,1600,1550,1600,1600,1600; 1450,1480,1500,1550,1510,1430,1300,1200; 1430,1450,1470,1320,1280,1200,1080,940]; figure surf(x,y,z)
[xi,yi]=meshgrid(0:50:2800,0:50:2400); zi=interp2(x,y,z,xi,yi,'spline'); figure meshz(xi,yi,zi) xlabel('x') ylabel('y') zlabel('高度')
axis([0 2800 0 2400 0 1600]); title('某山区地貌图') contour(x,y,z,50) ② 运行结果
3、问题3求解
M 文件
function y=fname(a,t)
y=14-(14-a(1))*exp(-t*a(2)^(-1));
拟合程序
tk=[0.3 0.5 1.0 2.0 4.0 7.0];
vk=[5.6873 6.1434 7.1633 8.8626 11.0328 12.6962];
a=lsqcurvefit('fname' ,[1,1],tk,vk); x=0:0.1:8; y=fname(a,x); plot(tk,vk,'*',x,y); a
或
tk=[0.3 0.5 1.0 2.0 4.0 7.0];
vk=[5.6873 6.1434 7.1633 8.8626 11.0328 12.6962]; a=lsqcurvefit('fname' ,[1,1],tk,vk) x=0:0.1:8; y=fname(a,x); plot(tk,vk,'*',x,y);
4、薄膜渗透率的测定
(1)数学模型
M 文件
function f=curvefun1(x,tdata)
f=x(1)+x(2)*exp(-0.02*x(3)*tdata) 程序
tdata=100:100:900;
cdata=1e-05*[6.50,6.39,6.26,6.10,5.90,5.65,5.35,4.99,4.54]; x0=[0.2,0.05,0.05];
x=curvefit('curvefun1',x0,tdata,cdata); f=curvefun1(x,tdata); x,f
四 、实验总结