第14讲 拟合

上传人:门**** 文档编号:243424424 上传时间:2024-09-23 格式:PPT 页数:54 大小:764KB
返回 下载 相关 举报
第14讲 拟合_第1页
第1页 / 共54页
第14讲 拟合_第2页
第2页 / 共54页
第14讲 拟合_第3页
第3页 / 共54页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,数学建模与数学实验,拟 合,1,实验目的,实验内容,2.,掌握用数学软件求解拟合问题,1.,直观了解拟合基本内容,1.,拟合,问题引例及基本原理,4.,实验,作业,.,2.,用数学,软件求解拟合问题,3,.,应用,实例,.,2,拟 合,2.,拟合的基本原理,1.,拟合问题引例,3,拟 合 问 题 引 例,1,温度,t,(,C,) 20.5 32.7 51.0 73.0 95.7,电阻,R,(,) 765 826 873 942 1032,已知热敏电阻数据:,求,60,C,时的电阻,R,设,R,=,at,+,b,a,b,为待定系数,4,拟 合 问 题 引 例,2,t,(h) 0.25 0.5 1 1.5 2 3 4 6 8,c,(,g/ml),19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01,已知一室模型快速静脉注射下的血药浓度数据,(,t,=0,注射300,mg),求血药浓度随时间的变化规律,c(t).,作半对数坐标系,(,semilogy,),下的图形,MATLAB(aa1),5,曲 线 拟 合 问 题 的 提 法,已知一组(二维)数据,即平面上,n,个点,(,x,i,y,i,),i,=1,n,寻求一个函数(曲线),y,=,f,(,x,),使,f,(,x,),在,某种准则下与所有数据点最为接近,即曲线拟合得最好,+,+,+,+,+,+,+,+,+,x,y,y,=,f,(,x,),(,x,i,y,i,),i,i,为点,(,x,i,y,i,),与,曲线,y,=,f,(,x,),的,距离,6,拟合与插值的关系,函数插值与曲线拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者在数学方法上是完全不同的,实例:,下面数据是某次实验所得,希望得到,X,和,f,之间的关系?,MATLAB(cn),问题:,给定一批数据点,需确定满足特定要求的曲线或曲面,解决方案:,若不要求曲线(面)通过所有数据点,而是要求它反映对象整体的变化趋势,这就是,数据拟合,,又称曲线拟合或曲面拟合,若要求所求曲线(面)通过所给所有数据点,就是,插值问题,;,7,最临近插值、线性插值、样条插值与曲线拟合结果:,8,曲线拟合问题最常用的解法,线性最小二乘法的基本思路,第一步,:,先选定一组函数,r,1,(,x,),r,2,(,x,), ,r,m,(,x,),m,0),模型假设,1.,机体看作一个房室,室内血药浓度均匀,一室模型,模型建立,在此,,d,=300mg,,,t,及,c,(,t,),在某些点处的值见前表,需经拟合求出参数,k,、,v.,32,用线性最小二乘拟合,c,(,t,),MATLAB(lihe1),计算结果:,d=300;,t=0.25 0.5 1 1.5 2 3 4 6 8;,c=19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01;,y=log(c);,a=polyfit(t,y,1),k=-a(1),v=d/exp(a(2),程序:,用非线性最小二乘拟合,c(t),33,给药方案 设计,c,c,2,c,1,O,t,设每次注射剂量,D,间隔时间,血药浓度,c,(,t,),应,c,1,c,(,t,),c,2,初次剂量,D,0,应,加大,给药方案记为:,2.,1.,计算结果:,给药方案:,c,1,=10,c,2,=25,k=0.2347,v=15.02,34,故可制定给药方案:,即,:,首次注射,375mg,,,其余每次注射,225mg,,,注射的间隔时间为,4h,35,估计水塔的流量,2.,解题思路,3.,算法设计与编程,1.,问题,36,某居民区有一供居民用水的圆柱形水塔,一般可以通过测量其水位来估计水的流量,但面临的困难是,当水塔水位下降到设定的最低水位时,水泵自动启动向水塔供水,到设定的最高水位时停止供水,这段时间无法测量水塔的水位和水泵的供水量通常水泵每天供水一两次,每次约两小时,.,水塔是一个高,12.2m,,直径,17.4m,的正圆柱按照设计,水塔水位降至约,8.2m,时,水泵自动启动,水位升到约,10.8m,时水泵停止工作,表,1,是某一天的水位测量记录,试估计任何时刻(包括水泵正供水时)从水塔流出的水流量,及一天的总用水量,37,38,流量估计的解题思路,拟合水位,时间函数,确定流量,时间函数,估计一天总用水量,39,拟合水位,时间函数,从测量记录看,一天有两个供水时段(以下称第,1,供水时段和第,2,供水时段),和,3,个水泵不工作时段(以下称第,1,时段,t,=0,到,t,=8.97,,,第,2,次时段,t,=10.95,到,t,=20.84,和第,3,时段,t,=23,以后)对第,1,、,2,时段的测量数据直接分别作多项式拟合,得到水位函数为使拟合曲线比较光滑,多项式次数不要太高,一般在,36,由于第,3,时段只有,3,个测量记录,无法对这一时段的水位作出较好的拟合,40,确定流量,时间函数,对于第,1,、,2,时段只需将水位函数求导数即可,对于两个供水时段的流量,则用供水时段前后(水泵不工作时段)的流量拟合得到,并且将拟合得到的第,2,供水时段流量外推,将第,3,时段流量包含在第,2,供水时段内,41,一天总用水量的估计,总用水量等于两个水泵不工作时段和两个供水时段用水量之和,它们都可以由流量对时间的积分得到,42,算法设计与编程,1.,拟合第,1,、,2,时段的水位,并导出流量,2.,拟合供水时段的流量,3.,估计一天总用水量,4.,流量及总用水量的检验,43,1.,拟合第,1,时段的水位,并导出流量,设,t,,,h,为已输入的时刻和水位测量记录(水泵启动的,4,个时刻不输入),,第,1,时段,各时刻的流量可如下得:,1,),c1=,polyfit,(,t,(,1,:,10,),,h,(,1,:,10,),,3,);,%,用,3,次多项式拟合第,1,时段水位,,c1,输出,3,次多项式的系数,2,),a1=,polyder,(,c1,);,% a1,输出多项式(系数为,c1,),导数的系数,3,),tp1=0,:,0.1,:,9,;,x1=-polyval,(,a1,,,tp1,);,% x1,输出多项式(系数,a1,)在,tp1,点的函数值(取负后边为正值),即,tp1,时刻的流量,MATLAB(llgj1),4,),流量函数为:,44,拟合第,2,时段的水位,并导出流量,设,t,,,h,为已输入的时刻和水位测量记录(水泵启动的,4,个时刻不输入),,第,2,时段,各时刻的流量可如下得:,1,),c2=polyfit(t(10.9:21),h(10.9:21),3),;,%,用,3,次多项式拟合第,2,时段水位,,c2,输出,3,次多项式的系数,2,),a2=polyder(c2),;,%,a2,输出多项式(系数为,c2,),导数的系数,3,),tp2=10.9:0.1:21;,x2=-polyval(a2,tp2);,%,x2,输出多项式(系数为,a2,)在,tp2,点的函数值(取负后边为正值),即,tp2,时刻的流量,MATLAB(llgj2),4,),流量函数为:,45,2.,拟合供水时段的流量,在第,1,供水时段(,t,=911,),之前(即第,1,时段)和之后(即第,2,时段)各取几点,其流量已经得到,用它们拟合第,1,供水时段的流量为使流量函数在,t,=9,和,t,=11,连续,我们简单地只取,4,个点,拟合,3,次多项式(即曲线必过这,4,个点),实现如下:,xx1=-polyval(a1,8 9);,%,取第,1,时段在,t,=8,9,的流量,xx2=-polyval(a2,11 12);,%,取第,2,时段在,t=11,12,的流量,xx12=xx1 xx2;,c12=polyfit(8 9 11 12,xx12,,,3);,%,拟合,3,次多项式,tp12=9,:,0.1,:,11,;,x12=polyval(c12,tp12);,%,x12,输出第,1,供水时段 各时刻的流量,MATLAB(llgj3),拟合的流量函数为:,46,在第,2,供水时段之前取,t,=20,,,20.8,两点的流水量,在该时刻之后(第,3,时段)仅有,3,个水位记录,我们用差分得到流量,然后用这,4,个数值拟合第,2,供水时段的流量如下:,dt3=diff,(,t(22,:,24),);,%,最后,3,个时刻的两两之差,dh3=diff,(,h(22,:,24),);,%,最后,3,个水位的两两之差,dht3=-dh3./dt3,;,%t(22),和,t,(23),的流量,t3=20 20.8 t(22) t(23),;,xx3=-polyval(a2,,,t3(1,:,2),,,dht3),;,%,取,t3,各时刻的流量,c3=,polyfit,(,t3,,,xx3,,,3,);,%,拟合,3,次多项式,t3=20.8,:,0.1,:,24,;,x3=,polyval,(,c3,,,tp3,);,% x3,输出第,2,供水时段,(外推至,t,=24,),各时刻的流量,MATLAB(llgj4),拟合的流量函数为:,47,3.,一天总用水量的估计,第,1,、,2,时段和第,1,、,2,供水时段流量的积分之和,就是一天总用水量虽然诸时段的流量已表为多项式函数,积分可以解析地算出,这里仍用数值积分计算如下:,y1=0.1*trapz(x1),;,%,第,1,时段用水量(仍按高度计),,0.1,为积分步长,y2=0.1*trapz(x2),;,%,第,2,时段用水量,y12=0.1*trapz(x12),;,%,第,1,供水时段用水量,y3=0.1*trapz(x3),;,%,第,2,供水时段用水量,y=(y1+y2+y12+y3)*237.8*0.01;,%,一天总用水量( ),计算结果:,y1,=146.2,y2,=266.8,y12,=47.4,y3,=77.3,,,y,=1250.4,MATLAB(llgjz),48,4.,流量及总用水量的检验,计算出的,各时刻的流量,可用水位记录的数值微分来检验用水量,y1,可用第,1,时段水位测量记录中下降高度,968-822=146,来检验,类似地,,y2,用,1082-822=260,检验,供水时段流量,的一种,检验方法,如下:供水时段的用水量加上水位上升值,260,是该时段泵入的水量,除以时段长度得到水泵的功率(单位时间泵入的水量),而两个供水时段水泵的功率应大致相等第,1,、,2,时段水泵的功率可计算如下:,p1=(y12+260)/2,;,%,第,1,供水时段水泵的功率,(水量仍以高度计),tp4=20.8,:,0.1,:,23,;,xp2=polyval,(,c3,,,tp4,);,% xp2,输出第,2,供水时段,各时刻的流量,p2=(0.1*trapz(xp2)+260)/2.2,;,%,第,2,供水时段水泵的功率,(水量仍以高度计),计算结果,:,p1=154.5,,,p2=140.1,MATLAB (,ll,),49,计算结果,流量函数为:,50,流量曲线见图,n,=(3,4),n,=(5,6),51,练习,1,用给定的多项式,如,y,=,x,3,-6,x,2,+5,x,-3,,,产生一组数据,(,x,i,y,i,,,i,=1,2,n,),再在,y,i,上添加随机干扰,(,可用,rand,产生,(0,1),均匀分布随机数,或用,rands,产生,N,(0,1),分布随机数,),,然后用,x,i,和添加了随机干扰的,y,i,作的,3,次多项式拟合,与原系数比较,如果作,2,或,4,次多项式拟合,结果如何?,52,练习,2,用电压,V,=10V,的电池给电容器充电,电容器上,t,时刻的电压为 ,其中,V,0,是电容器的初始电压,是充电常数,.,试由下面一组,t,,,V,数据确定,V,0, .,53,用非线性最小二乘拟合,c,(,t,)-,用,lsq,curvefit,2.,主程序,lihe2.m,如下,clear,tdata,=0.25 0.5 1 1.5 2 3 4 6 8;,cdata,=19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01;,x0=10,0.5;,x=lsqcurvefit(,curvefun3,x0,tdata,cdata);,f=curvefun3(x,tdata),x,MATLAB(lihe2),1.,用,M,文件,curvefun3.m,定义函数,function,f=curvefun3(x,tdata),d=300,f=(x(1)d)*exp(-x(2)*,tdata,),% x(1)=v; x(2)=k,54,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!