《数学实验》报告
实验名称 Matlab大作业 学 院 材料科学与工程 专业班级 材料080? 姓 名
2010年6月
一、 【实验目的】
运用数学知识与MATLAB相结合,运用数学方法,建立数学模型,用MATLAB软件辅助求解模型,解决实际问题。
二、 【实验任务】
海水温度随着深度的变化而变化,海面温度较高,随着深度的增加温度越来越低,这样也就影响
了海水的对流和混合,使得深层海水中的氧气越来越少,这是潜水员必须考虑的问题,同时根据这个规律也可以对海水鱼层作一划分。现在通过实验观测得一组海水深度h与温度的t的数据如下: t h 23.5 0 22.9 1.5 20.1 2.5 19.1 4.6 15.4 8.2 11.5 12.5 9.5 16.5 8.2 26.5 要求: (1) 找出温度t与深度h之间的一个近似函数关系;
(2) 找出温度变化最快的深度位置(实际上该位置就是潜水员在潜水时,随着下潜深度的不
同,需要更换呼入气体种类的位置,也是不同种类鱼层的分界位置)。
三、 【实验分析及求解】 1. 模型准备:
该问题是要运用已测数据,研究海水温度随深度的变化关系。找出温度随深度变化的函数关系,并利用此近似关系,找到温度变化最快的深度位置,进而为潜水员潜水时换气和鱼类分层的分界位置提供理论依据和实践指导。 2. 模型分析及求解:
(1)建立海水温度与深度变化的函数关系: 实际上,海水的温度变化不仅仅是由深度决定的,可能还与海水的盐度、密度、比热等因素有关,但深度对海水的温度起决定性作用,因此可以假设海水的温度和深度之间存在简单的函数关系。题目中给出了一组海水深度h与温度的t的数据,因此可对该组数据进行多项式的拟合,找出合适的近似关系,得出海水温度随深度变化的规律。 t 23.5 22.9 20.1 19.1 15.4 h 图形: 3阶拟合曲线50454035数据点拟合曲线 1000-100-200温度T11.5 12.5 9.5 16.5 8.2 26.5 0 1.5 2.5 4.6 8.2 为了找出符合深度h和温度t的合适多项式,于是对其进行了3、5、7阶的拟合,以下为拟合后的5阶拟合曲线 数据点拟合曲线温度T30252015105 0-300-400-500-600-700-800 0510152025深度H3035404550510152025深度H3035404550
2
2.5x 1067阶拟合曲线 数据点拟合曲线21.5温度T10.50-0.5 05101520 当然,拟合的次数越高,在一定区间内吻合程度就会越高,但对计算也会造成一定的难度。对比以上图形,可以发现,只有在0~30m深度范围内,拟合出的曲线才于实际情况相符合。同时,七阶曲线的拟合程度已经基本可以表达二者之间的关系:因此,选用7阶函数最为二者之间的近似函数关系.拟合的函数关系式如下:
25深度H3035404550T0.167404104H70.117471102H60.309730101H50.388967H42.40949H6.78428H5.51977H23.500032
因为所取数据点是在0~27m之间,同时由拟合曲线可以发现在其他区间内,确实与实际情况不符,故取区间为(0~30)。 (2)利用拟合曲线求温度随深度变化最快的位置: d2TdTdT0即求 的最大值,进而可以转化为求二阶导数的极值即,对应最大的极2dHdHdH值点即为所求的位置。
dT0.1171828103H60.704826102H50.1548650H41.555868H37.22847H213.56856H5.51977dH
d2T0.7030968103H50.3524130101H40.6194600H34.667604H214.45694H13.568562dH d2TdTdT0令解得的极值点,对应最大 的点即为所求点。dH2dHdH
用MATLAB解得的结果为:
3
d2T0得: 由2dHH=
1.6197811681049637254053846911074 4.7013743475793350231729782711085
8.7169265460971614409156533926428 13.417167700861440255839235695813
21.667720502617871613364782131819
代入
dTdT得:dHdH
-3.1156124188526912076380861099649,
0.5570442013360668953956637191788, -3.216335574505053725682056116640, 4.47086321730533459443013039762, -122.709127151164101883805173491
显然,H=21.667720502617871613364782131819时,对应的
dT 122.709127151164101883805173491dH
最大,所以H=21.67即为所求点。
即温度随深度变化最快的位置为:H=21.67m
3..模型检验:
针对求出的温度随深度变化的近似函数关系,用所给数据进行检验:
测量值t 测量值h 计算值t 23.5 0 23.5000 22.9 1.5 22.9000 20.1 2.5 20.1001 19.1 4.6 19.1004 15.4 8.2 15.4026 11.5 12.5 11.5148 9.5 16.5 9.5530 8.2 26.5 8.6817
可以发现,数据基本吻合,可见近似关系符合实际.
四、 【实验程序及结果】 Matlab程序: %曲线拟合 clf
t=[23.5 22.9 20.1 19.1 15.4 11.5 9.5 8.2]; h=[0 1.5 2.5 4.6 8.2 12.5 16.5 26.5]; plot(h,t,'p'),hold on y=polyfit(h,t,7); T=poly2str(y,'H') h=0:1:50;
4
y1=polyval(y,h);
plot(h,y1)
xlabel('深度H'),ylabel('温度T') legend('数据点','拟合曲线') title('7阶拟合曲线') 运行结果: T =
1.674e-005 H^7 - 0.0011747 H^6 + 0.030973 H^5 - 0.38897 H^4 + 2.4095 H^3 - 6.7843 H^2 + 5.5198 H + 23.5
2.5x 1067阶拟合曲线 数据点拟合曲线21.5温度T10.50-0.5 0510152025深度H3035404550
%最值求取 syms H
T =1.674e-005* H^7 - 0.0011747 *H^6 + 0.030973 *H^5 - 0.38897* H^4 + 2.4095* H^3 - 6.7843 *H^2 + 5.5198 *H + 23.5; dT=diff(T,H) dT2=diff(T,H,2) Tj=solve(dT2,H) Tj1=subs(dT,'H',Tj)
运行结果: dT =
(17292715764458281*H^6)/147573952589676412928 - (16252042697539959*H^5)/2305843009213693952 + (5579599650341855*H^4)/36028797018963968 - (38897*H^3)/25000 + (14457*H^2)/2000 - (67843*H)/5000 + 27599/5000
dT2 =
(51878147293374843*H^5)/73786976294838206464 - (81260213487699795*H^4)/2305843009213693952 + (5579599650341855*H^3)/9007199254740992 - (116691*H^2)/25000 + (14457*H)/1000 - 67843/5000
5
Tj =
21.668884754889085811993619837415 13.415991107111860678365290856915 8.7180464662988236638528088695297 4.7010280258140435381997578368589 1.6197908986597042089689607079289 Tj1 =
-122.82116795065281389772469690849 4.4565284510783742605838246452652 -3.2205323854874202758221401395729 0.55640991541663587473458635434981 -3.1156188787643168298501940888469
五、 【实验总结】
1.海水温度随深度变化的近似函数关系为:
T0.167404104H70.117471102H60.309730101H50.388967H4其中 H(0,30) 2.40949H36.78428H25.51977H23.50002. 温度随深度变化最快的位置为:H=21.67m。
6
因篇幅问题不能全部显示,请点此查看更多更全内容