插值与拟合方法_第1页
插值与拟合方法_第2页
插值与拟合方法_第3页
插值与拟合方法_第4页
插值与拟合方法_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

插值与拟合方法第一页,共四十页,2022年,8月28日

作为一个模型,它要与模型的实际背景接轨,而数据资料就是数学模型与现实问题接轨的重要途径和手段。因此在建模过程中处理好数据资料和模型的关系是非常重要的。在建模的过程中数据资料以下面几种方式对数学模型起作用:(1)在建模过程中,特别是在建模的初期数据资料能够对所构架的模型给出提示。有些模型(我们称之为经验模型)则是完全建立在数据的基础上的。(2)数据可以用来对模型的参数给出估计。(3)数据资料还可以用于检验模型的效果。建模中的数据资料第二页,共四十页,2022年,8月28日

插值与数据拟合就是通过一些已知数据去确定某类函数的参数或寻找某个近似函数,使所得的函数与已知数据具有较高的精度,并且能够使用数学分析的工具分析数据所反映的对象的性质.几种常用的方法:分段线性插值:将各数据点用折线连接起来多项式插值:求一个多项式通过所有数据点,可以假设出多项式的系数,最后通过求解方程得到每个系数样条插值:分段多项式的光滑连接最小二乘拟合:求参数c,使得用含有c的函数f(x,c)对应的残差达到最小数据拟合与插值建模第三页,共四十页,2022年,8月28日

插值最初来源于天体计算——由若干观测值(即节点)计算任意时刻星球的位置(即插值点和插值)——的需要。现在,虽然人们已很少需要用它从函数表计算函数值了,但是插值仍然在诸如机械加工等工程技术和数据处理等科学研究中有着许多直接的应用,另一方面,插值又是数值微分、数值积分、常微分方程数值等数值计算的基础。第四页,共四十页,2022年,8月28日

根据一组(二组)数据,即平面上的若干点,确定一个一元函数,即曲线,使这些节点与曲线总体来说尽量接近,这就是曲线拟合。函数插值与曲线拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法是完全不同的。第五页,共四十页,2022年,8月28日数据插值拟合MATLAB命令多项式插值和拟合p=polyfit(x,y,k):

用k次多项式拟合向量数据(x,y),返回多项式的降幂系数。当k>n-2时,该命令实现多项式插值一元插值yi=interp1(x,y,xi):根据数据(x,y)给出在xi的分段线性插值结果yiyi=interp1(x,y,xi,’spline’):使用三次样条插值yi=interp1(x,y,xi,’cubic’):使用分段三次插值二元插值zi=interp2(x,y,z,xi,yi,’method’):二维插值第六页,共四十页,2022年,8月28日在1-12的11小时内,每隔1小时测量一次温度,测得的温度依次为:5,8,9,15,25,29,31,30,22,25,27,24。试估计每隔1/10小时的温度值。hours=1:12;temps=[589152529313022252724];h=1:0.1:12;t=interp1(hours,temps,h,'spline');plot(hours,temps,'+',h,t,hours,temps,'r:')%作图xlabel(Hour’);ylabel('DegreesCelsius’)插值引例1第七页,共四十页,2022年,8月28日第八页,共四十页,2022年,8月28日某实验对一根长10米的钢轨进行热源的温度传播测试。用x表示测量点0:2.5:10(米),用h表示测量时间0:30:60(秒),用T表示测试所得各点的温度(℃)。试用线性插值求出在一分钟内每隔20秒、钢轨每隔1米处的温度TI。

命令如下:

x=0:2.5:10;

h=[0:30:60]';

T=[95,14,0,0,0;88,48,32,12,6;67,64,54,48,41];

xi=[0:10];

hi=[0:20:60]';

TI=interp2(x,h,T,xi,hi)

mesh(x,h,T),hold,mesh(xi,hi,TI+100)

插值引例2第九页,共四十页,2022年,8月28日第十页,共四十页,2022年,8月28日

有一只对温度敏感的电阻,已经测得了一组温度T和电阻R数据。

现在想知道时的电阻多大。温度t(0C)20.532.751.073.095.7电阻R()7658268739421032拟合引例1第十一页,共四十页,2022年,8月28日在直角坐标系中把5个点(T,R)画一下,看看电阻R和温度T之间大致有什么关系(R与T大致呈直线关系),中学物理学过,金属材料的电阻率与温度成正比,从而确定R与T的关系应该是

R=at+b其中a,b为待定常数。clearallx=[20.532.751.073.095.7];y=[7658268739421032];p=polyfit(x,y,1);xx=1:1:100;fori=1:100yy(i)=p(1)*xx(i)+p(2);endplot(x,y,'o',xx,yy,'-r')xlabel('温度')ylabel('电阻')第十二页,共四十页,2022年,8月28日

正是由于测量误差的存在,由R=at+b表示的直线不可能通过全部5个点,所以,与插值曲线要通过全部节点不同,作一条尽量靠近所有的点的直线,求出a,b待定常数,由此计算t=的R就十分简单了。第十三页,共四十页,2022年,8月28日拟合引例2

t(h)0.250.511.523468c(g/ml)19.2118.1515.3614.1012.899.327.455.243.01已知一室模型快速静脉注射下的血药浓度数据(t=0注射300mg)求血药浓度随时间的变化规律c(t).

x=[0.250.511.523468];y=[19.2118.1515.3614.1012.899.327.455.243.01];plot(x,y,'--o')c2cc10第十四页,共四十页,2022年,8月28日算术坐标系统:就是普通的笛卡儿坐标,横纵的刻度都是是等距的对数坐标:坐标轴是按照相等的指数变化来增加的,(举例来说:如果每1cm代表10的1次方增加,则坐标轴刻度依次为1,10,100,1000,10000……)

半对数坐标系统:只有一个坐标轴是对数坐标,另一个是普通算术坐标。

半对数曲线:主要用于成对数或指数变化的数据的分析.如y=lnx(t),在算术坐标系是曲线,而在半对数坐标系统中为一直线,这样便于对试验数据的分析研究.

第十五页,共四十页,2022年,8月28日t(h)0.250.511.523468c(g/ml)19.2118.1515.3614.1012.899.327.455.243.01已知一室模型快速静脉注射下的血药浓度数据(t=0注射300mg)作半对数坐标系(semilogy)下的图形第十六页,共四十页,2022年,8月28日一室模型:将整个机体看作一个房室,称中心室,室内血药浓度是均匀的。快速静脉注射后,浓度立即上升;然后迅速下降。当浓度太低时,达不到预期的治疗效果;当浓度太高,又可能导致药物中毒或副作用太强。临床上,每种药物有一个最小有效浓度c1和一个最大有效浓度c2。设计给药方案时,要使血药浓度保持在c1~c2之间。本题设c1=10,c2=25(ug/ml).拟合实例1给药方案—一种新药用于临床之前,必须设计给药方案.药物进入机体后血液输送到全身,在这个过程中不断地被吸收、分布、代谢,最终排出体外,药物在血液中的浓度,即单位体积血液中的药物含量,称为血药浓度。第十七页,共四十页,2022年,8月28日

在实验方面,对某人用快速静脉注射方式一次注入该药物300mg后,在一定时刻t(小时)采集血药,测得血药浓度c(ug/ml)如下表:

t(h)0.250.511.523468c(g/ml)19.2118.1515.3614.1012.899.327.455.243.01

要设计给药方案,必须知道给药后血药浓度随时间变化的规律。从实验和理论两方面着手:第十八页,共四十页,2022年,8月28日给药方案

1.在快速静脉注射的给药方式下,研究血药浓度(单位体积血液中的药物含量)的变化规律。tc2cc10问题2.给定药物的最小有效浓度和最大治疗浓度,设计给药方案:每次注射剂量多大;间隔时间多长。分析理论:用一室模型研究血药浓度变化规律实验:对血药浓度数据作拟合,符合负指数变化规律第十九页,共四十页,2022年,8月28日3.血液容积v,t=0注射剂量d,血药浓度立即为d/v.2.药物排除速率与血药浓度成正比,比例系数k(>0)模型假设1.机体看作一个房室,室内血药浓度均匀——一室模型模型建立

在此,d=300mg,t及c(t)在某些点处的值见前表,需经拟合求出参数k、v第二十页,共四十页,2022年,8月28日用线性最小二乘拟合c(t)计算结果:d=300;t=[0.250.511.523468];c=[19.2118.1515.3614.1012.899.327.455.243.01];y=log(c);a=polyfit(t,y,1)k=-a(1)v=d/exp(a(2))程序:第二十一页,共四十页,2022年,8月28日给药方案设计cc2c10t设每次注射剂量D,间隔时间血药浓度c(t)

应c1c(t)c2初次剂量D0应加大给药方案记为:2、1、计算结果:给药方案:c1=10,c2=25k=0.2347v=15.02第二十二页,共四十页,2022年,8月28日故可制定给药方案:即:

首次注射375mg,其余每次注射225mg,注射的间隔时间为4小时。第二十三页,共四十页,2022年,8月28日插值拟合实例1:城市供水量的预测问题实际问题与背景:

为了节约能源和水源,某供水公司需要根据日供水量记录估计未来一时间段(未来一天或一周)的用水量,以便安排未来(该时间段)的生产调度计划。现有某城市7年用水量的历史记录,记录中给出了日期、每日用水量(吨/日)。如何充分地利用这些数据建立数学模型,预测2007年1月份城市的用水量,以制定相应的供水计划和生产调度计划某城市7年日常用水量历史记录(万吨/日)日期2000010120000102……2006123020061231日用水量122.1790128.2410……150.40168148.2064第二十四页,共四十页,2022年,8月28日2000-2006年1月城市的总用水量(万吨/日)年份2000200120022003200420052006用水量4032.414186.02544296.98664374.8524435.23444505.42744517.6993利用这些数据,可以采用时间序列、灰色预测等方法建立数学模型来预测2007年1月份该城市的用水量。如果能建立该城市的日用水量随时间变化的函数关系,则用该函数来进行预测非常方便。但是这一函数关系的解析表达式是没办法求出来的,那么能否根据历史数据求出该函数的近似函数呢?根据未知函数的已有数据信息求出其近似函数的常用方法有插值法和数据拟合。下面利用插值法和数据拟合方法给出该城市供水量的预测。第二十五页,共四十页,2022年,8月28日城市供水量预测用数值方法进行预测时,一般是根据数据的散点图特征采用插值或拟合来实现。用插值方法预测2007年1月份城市的用水量预测2007年1月份城市的用水量有两种办法:一是先预测1月份每天的日用水量,求和后即得到1月用水总量;二是直接用2000-2006每年1月份的总用水量来预测。第二十六页,共四十页,2022年,8月28日用06年每天的日用水量预测以预测07年1月1日为例,由于数据量过大,07年1月的用水量与前一年相关性大,而与2000-2005年用水量的相关性不大。故仅用06年全部365天的日用水量作为插值节点,其中,表示第i天,即为第i天的日用水量(万吨/日)。其散点图如图所示。设插值多项式为,则07年1月1日的日用水量的预测值即为在处的函数值。图106年城市日用水量散点图第二十七页,共四十页,2022年,8月28日下面分别用拉格朗日与牛顿插值方法得到365次插值多项式,并计算得分别为1.8781e+109、-9.3842e+167。这些结果的误差大得让人无法接受。说明在大区间上做高次插值不可行,实际中,当节点数较多时,一般用分段低次插值。这里用三次样条插值法求解,其样条曲线如图所示。对应的插值结果为133.6641。图2三次样条曲线

第二十八页,共四十页,2022年,8月28日但若用这个三次样条函数来计,即该月后30天的日用水量,结果为98.1477、33.0292、…、-4.8837,误差逐渐增大。且从第四天开始的估计值就开始为负值-70.3188。结果说明,在用插值多项式进行外插时,当计算点远离插值区间时,误差增大。因此,外插时一般要求计算点靠近插值区间。综上所述,仅用06年一年数据预测07年1月份每天的日用水量时,即便使用低次插值,误差也会很大。因此用365个数据点做插值不合理。

第二十九页,共四十页,2022年,8月28日

2.用2000-2006年1月份每天的日用水量预测

采用2000-2006年1月每天的日用水量预测07年1月对应天的日用水量。同样,以预测07年1月1日为例。以2000-2006每年1月1日的日用水量作为插值节点,则即为所要求的07年1月1日用水量的估计值。同理,其它30天的日用水量也对应地求出。此时,待插节点只有1个,且与插值区间距离为1。因插值节点只有7个,我们采用拉格郎日、牛顿和三次样条插值函数进行计算,三种方法计算的结果基本相同,求得07年1月每天日用水量分别为143.6962,139.7505,…,146.5117。对它们求和得07年1月份总用水量的预测值为4517.6993(万吨/日)。其计算结果如图3所示(”+”号所示为217个已知的前七年日用水量节点,”*”号所示为预测的31天的用水量值)。第三十页,共四十页,2022年,8月28日

这证实了,当插值节点少,且计算点距离插值区间近时,多项式插值方法做外插是适用的。图3三种插值函数曲线

第三十一页,共四十页,2022年,8月28日3.用2000-2006年1月城市的总用水量预测由表2可到七个插值节点,其中。其散点图如4所示:图4散点图用三次样条插值得即所求的07年1月用水总量的估计值为4378.1390(万吨/日)。

第三十二页,共四十页,2022年,8月28日上述插值方法得到的07年1月用水总量估计值如下表2所示:表2插值法得到07年1月用水总量估计值(万吨/日)插值节点06年日用水量00-06年1月每天日用水量00-06每年1月用水总量预测结果误差大4517.6993(万吨/日)4378.1390(万吨/日)第三十三页,共四十页,2022年,8月28日用数据拟合方法预测2007年1月份城市的用水量(1)用06年每天的日用水量预测由06年全部365天的日用水量散点图1可知,这些点并不简单地呈现线性或二次关系,但有很强的聚集性。我们试图用几个多项式进行拟合。用Matlab工具箱得到如表3拟合结果。表3拟合次数与残差的关系拟合结果显示,九次拟合的均方根误差是最小的,但四次曲线拟合的效果已经与它很接近了。为了尽量避免过拟合,在这里选择四次拟合。拟合曲线如图5所示。线性二次三次四次五次六次七次八次九次均方根误差5.3664.6894.554.03.9933.8973.7813.7313.701第三十四页,共四十页,2022年,8月28日

拟合曲线的表达式为:计算在处的函数值分别得到07年1月31天的日用水量为150.8524,150.8718,…,152.9422。对它们求和得到1月份总用水量的估计值为4700.4297(万吨/日)。图5四次拟合曲线第三十五页,共四十页,2022年,8月28日

(2)用2000-2006年1月份每天的日用水量预测由2000-2006年1月1日的日用水量得到7个插值节点,利用拟合曲线计算即07年1月1日日用水量估计值。因插值节点只有7个,因此用6次拟合曲线刚好可过所有插值节点。图6显示的是六次拟合结果。图6六次拟合曲线

第三十六页,共四十页,2022年,8月28日计算得07年1月1号日用水量为5.74456,产生了较大的误差。这说明出现了严重的过度拟合现象。因此,六

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论