- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、曲线拟合
已知一组数据(二维),即平面上的个点互不相同,寻求一个函数,使其在某种准则下与所有数据点最为接近。
线性最小二乘法
令
其中是事先选定的一组函数,是待定系数。拟合准则是使个点与的距离的平方和最小(称为最小二乘准则),即求使
达到最小的 .令,可得出,满足的线性方程组
其中
关键的一步是选取,可根据机理分析或的图形判断。
多项式拟合,Matlab命令为
a=polyfit(x,y,m)
其中输入参数为拟合多项式的次数,输出参数为拟合多项式的系数。
拟合多项式在处的值可用Matlab命令y=polyval(a,x)
例1 电阻问题
已知一对温度敏感的电阻的阻值和温度的一组数据如下
t(度) 20.5,32.7,51.0,73.0,95.7
R(欧姆) 765, 826, 873, 942,1032
拟合电阻 与温度之间的关系,并预测t=80时,R的值。
Matlab命令如下
------------------------------------
t=[20.5,32.7,51.0,73.0,95.7];
r=[765,826,873,942,1032];
aa=polyfit(t,r,1);
aa =
3.3987 702.0968
y=polyval(aa,80)
y =
973.9960
-----------------------------------------
例2 血药浓度问题
某人用快速静脉注射方式一次注入药物300mg,在一定时刻采集血样,测得血药浓度如下:
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
拟合血药浓度随时间的变化规律。
利用机理分析(一室模型)可得
为拟合系数,我们对上式取对数得
记,则问题化为由数据拟合直线
用如下Matlab命令
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);
aa=polyfit(t,y,1);
aa =
-0.2347 2.9943
k=0.2347(k=-(-0.2347))
v =110.9947(d=300;v=d/exp(2.9943))
t=0:0.1:9
cc=d/v*exp(-k*t);
plot(t,cc,r)
非线性最小二乘拟合
记,拟合准则是的平方和最小,于是问题化为如下的优化问题
(1)Matlab命令为
Lsqnonlin(‘f’,a0)
其中,f.m是描述函数的函数文件名,是初值
例 血药浓度问题
function f=ct(x)
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];
f=c-x(1)*exp(x(2)*t);
x0=[10,0.5]
lsqnonlin(ct,x0)
(2)lsqcurvefit(‘fun’,a0,x,y,LB,UB)
其中,f.m是描述函数的函数文件名,是初值,为数据
例 血药浓度问题
function f=xue(x,t)
f=x(1)*exp(x(2)*t);
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];
x0=[10,0.5]
lsqcurvefit(xue,a0,t,c)
xuenon.m
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];
lsqcurvefit(xue,a0,t,c);
yy=xue(x,t);
plot(t,c,k*,t,yy,r)
例 药物的吸收与排除(口服)
假设口服剂量为d,中心室血药浓度数据为
t=0.083,0.167,0.25,0.50,0.75,1.0,1.5,2.25,3.0,4.0,6.0,8.0,10.0,12.0
c=10.9,21.1,27.3,36.4,35.5,38.4,34.8,24.2,23.6,15.7,8.2,8.3,2.2,1.8
由机理分析(吸收室-中心室模型)得,中心室的血药浓度
其中排除速率和吸收速率由上述数据拟合
function f=xipai(x,t)
f=x(1)*x(3)*(exp(-x(2)*t)-exp(-x(1)*t))/(x(1)-x(2));
xip
文档评论(0)