为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

2011数学建模---matlab拟合

2011-09-25 49页 ppt 664KB 32阅读

用户头像

is_929625

暂无简介

举报
2011数学建模---matlab拟合nullnull数学建模与数学实验 拟 合 null实验目的实验内容2、掌握用数学软件求解拟合问题。1、直观了解拟合基本内容。1、拟合问题基本理论。2、用数学软件求解拟合问题。3、应用实例null曲 线 拟 合 问 题 的 提 法已知一组(二维)数据,即平面上 n个点(xi,yi) i=1,…n, 寻求一个函数(曲线)y=f(x), 使 f(x) 在某种准则下与所有数据点最为接近,即曲线拟合得最好。 y=f(x)i 为点(xi,yi) 与曲线 y=f(x) 的距离null拟合与插值的关系 函数插值与曲线拟...
2011数学建模---matlab拟合
nullnull数学建模与数学实验 拟 合 null实验目的实验2、掌握用数学软件求解拟合问题。1、直观了解拟合基本内容。1、拟合问题基本理论。2、用数学软件求解拟合问题。3、应用实例null曲 线 拟 合 问 题 的 提 法已知一组(二维)数据,即平面上 n个点(xi,yi) i=1,…n, 寻求一个函数(曲线)y=f(x), 使 f(x) 在某种准则下与所有数据点最为接近,即曲线拟合得最好。 y=f(x)i 为点(xi,yi) 与曲线 y=f(x) 的距离null拟合与插值的关系 函数插值与曲线拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法上是完全不同的。 实例:下面数据是某次实验所得,希望得到X和 f之间的关系?MATLAB(cn)问题:给定一批数据点,需确定满足特定要求的曲线或曲面解决方案:若不要求曲线(面)通过所有数据点,而是要求它反映对象整体的变化趋势,这就是数据拟合,又称曲线拟合或曲面拟合。若要求所求曲线(面)通过所给所有数据点,就是插值问题;null最临近插值、线性插值、样条插值与曲线拟合结果:null曲线拟合问题最常用的解法——线性最小二乘法的基本思路第一步:先选定一组函数 r1(x), r2(x), …rm(x), m0)模型假设1. 机体看作一个房室,室内血药浓度均匀——一室模型模型建立 在此,d=300mg,t及c(t)在某些点处的值见前,需经拟合求出参数k、vnull用线性最小二乘拟合c(t)MATLAB(lihe1)用非线性最小二乘拟合c(t)null给药方案 设计 设每次注射剂量D, 间隔时间 血药浓度c(t) 应c1 c(t)  c2 初次剂量D0 应加大c1=10,c2=25 k=0.2347 v=15.02null故可制定给药方案:即: 首次注射375mg, 其余每次注射225mg, 注射的间隔时间为4小时。null估计水塔的流量2、解题思路3、算法设计与编程1、问题null 某居民区有一供居民用水的园柱形水塔,一般可以通过测量其水位来估计水的流量,但面临的困难是,当水塔水位下降到设定的最低水位时,水泵自动启动向水塔供水,到设定的最高水位时停止供水,这段时间无法测量水塔的水位和水泵的供水量.通常水泵每天供水一两次,每次约两小时. 水塔是一个高12.2米,直径17.4米的正园柱.按照设计,水塔水位降至约8.2米时,水泵自动启动,水位升到约10.8米时水泵停止工作. 表1 是某一天的水位测量,试估计任何时刻(包括水泵正供水时)从水塔流出的水流量,及一天的总用水量. nullnull流量估计的解题思路拟合水位~时间函数确定流量~时间函数估计一天总用水量null 拟合水位~时间函数 测量记录看,一天有两个供水时段(以下称第1供水时段和第2供水时段),和3个水泵不工作时段(以下称第1时段t=0到t=8.97,第2次时段t=10.95到t=20.84和第3时段t=23以后).对第1、2时段的测量数据直接分别作多项式拟合,得到水位函数.为使拟合曲线比较光滑,多项式次数不要太高,一般在3~6.由于第3时段只有3个测量记录,无法对这一时段的水位作出较好的拟合.null 2、确定流量~时间函数 对于第1、2时段只需将水位函数求导数即可,对于两个供水时段的流量,则用供水时段前后(水泵不工作时段)的流量拟合得到,并且将拟合得到的第2供水时段流量外推,将第3时段流量包含在第2供水时段内.null3、一天总用水量的估计 总用水量等于两个水泵不工作时段和两个供水时段用水量之和,它们都可以由流量对时间的积分得到。null算法设计与编程1、拟合第1、2时段的水位,并导出流量2、拟合供水时段的流量3、估计一天总用水量4、流量及总用水量的检验null 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)流量函数为:null 2、拟合第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)流量函数为:null 3、拟合供水时段的流量 在第1供水时段(t=9~11)之前(即第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)拟合的流量函数为:null 在第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)拟合的流量函数为:null 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.4MATLAB(llgjz)null 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.1MATLAB (ll)null计算结果流量函数为:null流量曲线见图n=(3,4)n=(5,6)null用非线性最小二乘拟合c(t)-用lsqcurvefit2、主程序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)
/
本文档为【2011数学建模---matlab拟合】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索