数据拟合完整版本_第1页
数据拟合完整版本_第2页
数据拟合完整版本_第3页
数据拟合完整版本_第4页
数据拟合完整版本_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

ExperimentsinMathematics数据拟合Z‡'

函数拟合1.拟合的基本原理;3.用Matlab作最小二乘拟合;4.如何用拟合解决实际问题。2.最小二乘拟合;

R=at+ba,b为待定系数求电阻R随温度t的变化规律。已知热敏电阻数据:温度t(0C)20.532.751.073.095.7电阻R()7658268739421032引例1:热敏电阻电阻值的变化规律

t(h)0.250.511.523468c(g/ml)19.2118.1515.3614.1012.899.327.455.243.01对某人用快速静脉注射方式一次性注射某种药物300mg后,经过时间t采集血样,测得血药浓度c如下表:求血药浓度随时间的变化规律c(t).半对数坐标系(semilogy)下的图形Log10c(t)=at+b引例2:血药浓度的变化规律曲线拟合问题的提法已知一组(二维)数据,即平面上n个点(xi,yi)i=1,…n,

寻求一个函数(曲线)y=f(x),

使f(x)

在某种准则下与所有数据点最为接近,即曲线拟合得最好。

+++++++++xyy=f(x)(xi,yi)

i

i为点(xi,yi)与曲线y=f(x)的距离最小二乘拟合

第一步:先选定一类函数f(x,a1,a2,

…,am)其准则为(最小二乘准则):使n个点(xi,yi)与曲线y=f(x,a1,a2,

…,am)的距离

i的平方和最小

。其中

a1,a2,…am

为待定常数。f可以为一些简单的“基函数”(如幂函数,三角函数等等)的线性组合:第二步:确定参数a1,a2,…am,问题归结为,求

a1,a2,…am

使

J(a1,a2,…am)

最小。这样的拟合称为最小二乘拟合。除了最小二乘准则(即各点误差的平方和最小),你认为还可以用怎样的拟合准则?比较起来,最小二乘准则有什么优点?思考记最小二乘拟合函数f(x,a1,…am)的选取

++++++++++++++++++++f=a1+a2xf=a1+a2x+a3x2f=a1+a2x+a3x2f=a1exp(a2x)+++++f=a1exp(a2x)1.通过机理分析建立数学模型来确定f;2.将数据(xi,yi)i=1,…,n作图,通过直观判断确定f:2.作一般的最小二乘曲线拟合,可利用已有程序lsqcurvefit,其调用格式为:

a=lsqcurvefit(‘f’,a0,x,y)1.作多项式f(x)=a1xm+…+amx+am+1函数拟合,可利用已有程序polyfit,其调用格式为:a=polyfit(x,y,m)用MATLAB作最小二乘拟合数据点拟合多项式次数系数注:f为拟合函数y=f(a,x)的函数M—文件,f(a,x)为拟合函数。数据点待定常数a的初值函数M文件用MATLAB作多项式最小二乘拟合example12.用命令polyfit(x,y,m)得到a1=3.3940,a2=702.49181.选取函数R=

a1t+a2温度t(0C)20.532.751.073.095.7电阻R()7658268739421032例.由数据拟合R=f(t)用MATLAB作最小二乘曲线拟合例:用函数f(x)=a1*exp(-a2*x)+a3*exp(-a4*x)拟合下列数据点:xdata=[0:.1:2]ydata=[5.89553.56392.51731.97901.89901.39381.13591.00961.03430.84350.68560.61000.53920.39460.39030.54740.34590.13700.22110.17040.2636]用命令lsqcurvefit(‘f’,a0,x,y)

example2fun1拟合的应用——参数辨识数学建模的方法:机理分析和测试分析。机理分析是根据对客观事物特性的认识,找出反映内部机理的数量规律,建立的模型常有明确的物理意义。测试分析将研究的对象看作一个“黑箱”,通过对实验数据的统计分析,找出与数据拟合得最好的模型。机理分析——>模型结构实验数据——>未知参数范例:薄膜渗透率的测定一、问题:某种医用薄膜,具有从高浓度的溶液向低浓度的溶液扩散的功能,在试制时需测定薄膜被物质分子穿透的能力。测定方法:用面积为S的薄膜将容器分成体积分别为的两部份,在两部分中分别注满该物质的两种不同浓度的溶液。此时该物质分子就会从高浓度溶液穿过薄膜向低浓度溶液中扩散。平均每单位时间通过单位面积薄膜的物质分子量与膜两侧溶液的浓度差成正比,比例系数K表征了薄膜被该物质分子穿透的能力,称为渗透率。定时测量容器中薄膜某一侧的溶液浓度,以此确定K。VAVBS二、问题分析考察时段[t,t+Δt]薄膜两侧容器中该物质质量的变化。设,对容器的B部分溶液浓度的测试结果如下表:(浓度单位)

1)在容器的一侧,物质质量的增加是由于另一侧的物质向该侧渗透的结果,因此物质质量的增量应等于另一侧的该物质向这侧的渗透量。以容器A侧为例,在时段[t,t+Δt]物质质量的增量为:分别表示在时刻t膜两侧溶液设的浓度,浓度单位:由于平均每单位时间通过单位面积薄膜的物质分子量与膜两侧溶液的浓度差成正比,比例系数为K。因此,在时段[t,t+Δt],从B侧渗透至A侧的该物质的质量为:于是有:两边除以Δt,并令Δt→0取极限再稍加整理即得:分别表示在初始时刻两侧溶液的浓度其中(1)2)注意到整个容器的溶液中含有该物质的质量不变,与初始时刻该物质的含量相同,因此

从而:加上初值条件:代入式(1)得:便可得出CB(t)的变化规律,从而根据实验数据进行拟合,估计出参数K,。三、数学模型假设:1)薄膜两侧的溶液始终是均匀的;2)平均每单位时间通过单位面积薄膜的物质分子量与膜两侧溶液的浓度差成正比。3)薄膜是双向同性的即物质从膜的任何一侧向另一侧渗透的性能是相同的。基于假设和前面的分析,B侧的浓度CB(t)应满足如下微分方程和初始条件:四、求解方法:1.函数拟合法前面得到的模型是一个带初值的一阶线性微分方程,解之得:问题归结为利用CB在时刻tj的测量数据Cj(j=1,2,...,N)来辨识K和。引入从而用函数CB(t)来拟合所给的实验数据,从而估计出其中的参数a,b,K。将代入上式有:用MATLAB软件进行计算.1)编写函数M-文件nongdu.mfunctionf=nongdu(x,tdata)f=x(1)+x(2)*exp(-0.02*x(3)*tdata);其中x(1)=a;x(2)=b;x(3)=k;2)在工作空间中执行以下命令(test1.m)

tdata=linspace(100,1000,10);

cdata=[4.544.995.355.655.906.10...6.266.396.506.59];x0=[0.2,0.05,0.05];x=lsqcurvefit

(‘nongdu’,x0,tdata,cdata)3)输出结果:x=0.007-0.0030.1012

即k=0.1012,a=0.007,b=-0.003,nongdutest1进一步求得:2.非线性规划法利用CB在时刻tj的测量数据Cj(j=1,2,...,N)来辨识K和。问题可转化为求函数即求函数的最小值点(K,a,b)。3.导函数拟合法前面得到的微分方程为:令上式变为:这可以看作随CB的变化规律(j=1,2,...,N)若知道一组数据则可用最小二乘拟合的方法来求出函数中的未知参数K和h。即为求参数K,a使下列误差函数达到最小:该问题等价于用函数f(K,a,CB)=K(0.01a-0.02CB)来拟合数据(j=1,2,...,N)用MATLAB软件进行计算.%求数据点(j=1,2,...,N)tdata=linspace(100,1000,10);cdata=1e-05.*[454499535565590...

610626639650659];[d,ifail]=e01bef(tdata,cdata);[cj,dcj]=e01bgf(tdata,cdata,d,tdata);1)编写函数M-文件baomof.mfunctionf=baomof(x,cdata)f=x(1)*(0.01*x(2)-0.02*cdata)其中x(1)=K;x(2)=h2)编写命令M文件(baomo21.m)3)输出结果:x=0.10090.014

即k=0.1009,h=0.014%作函数拟合x0=[0.2,0.1];x=lsqcurvefit

('baomof',x0,cdata,dcj')4.线性化迭代法前面带初始条件的一阶线性微分方程的解为其中:

如果得到了参数K的一个较好的近似值K*,则将CB(t)关于K在K*处展开,略去

K的二次及以上的项得CB(t)的一个近似式通过极小化确定a,b,d,再由

K=d/0.02b得到K*的修正值

K。K*K*-K,得到K的一个新的近似值,用同样的方法再求新的修正值

K。这个过程可以不断重复,直到修正值足够小为止。1)当K的初值取为k=0.3时,出现奇异情况,迭代不收敛;2)当K的初值取为k=0.2时,经四次迭代,已经收敛到一个很好的解。迭代结果如下表。五、结果及误差分析几种方法得出的结果及相应的误差总结于下表,误差为计算数据与实验数据之差的平方和。注:导函数拟合法得出的参数值精度有限,线性化迭代法要求参数的初值比较接近精确值。因此可将导函数拟合法和线性化迭代法结合起来使用,把前者得到的参数K的值作为迭代法中K的初值,这样可使迭代法收敛或收敛更快。3)取K的初值为k=0.1009,只一次迭代就得到2)中的最后结果。函数拟合法的拟合效果求解参数辨识模型的方法:函数拟合;非线性规划;导函数拟合;线性化迭代;其它方法。布置“函数拟合”实验目的

1.掌握用MATLAB计算函数拟合的方法内容

2.用函数拟合方法解决实际问题。‡给药方案一种新药用于临床之前,必须设计给药方案。在快速静脉注射下,所谓给药方案是指,每次注射计量多大,间隔时间多长。药物进入肌体后随血液输送到全身,在这过程中不断被吸收、分解、代谢,最终排出体外。药物向体外排出的速率与血药浓度成正比。单位体积血液中的药物含量,称血药浓度。临床上,每种药物有一个最小有效浓度c1和最大治疗浓度c2。设计给药方案时,要使血药浓度保持在c1——c2之间,设本题研究的药物的c1=10(g/ml),c2=25(g/ml),对某人用快速静脉注射方式一次注入该药物300mg后,在一定时刻t(小时)采集血样,测得血药浓度c(g/ml),如下页表。试设计该药

温馨提示

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

评论

0/150

提交评论