探索flutter框架开发的app在移动应用市场的潜力与挑战
637
2022-11-17
10.拟合
拟合
一.拟合问题
拟合与插值的区别例题
二.求解办法-线性最小二乘法
例题
matab代码:
x=0.1:0.1:1.1; y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; R=[(x.^2)' x' ones(11,1)]; A=R\y'
matab代码:
=0:0.1:1; y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; A=polyfit(x,y,2) z=polyval(A,x); plot(x,y,'k+',x,z,'r')
三.非线性函数拟合问题
例题
使用lsqcurvefit命令求解
先编写M文件 curvefun1.m定义函数,代码为
function f=curvefun1(x,tdata)f=x(1)+x(2)*exp(-0.02*x(3)*tdata)
再在命令窗口输入下面的matlab代码:
tdata=100:100:1000cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59];x0=[0.2,0.05,0.05];x=lsqcurvefit ('curvefun1',x0,tdata,cdata)f= curvefun1(x,tdata)
使用lsqnonlin命令求解
先编写M文件 curvefun2.m定义函数,代码为
curvefun2.mfunction f=curvefun2(x)tdata=100:100:1000;cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59];f=x(1)+x(2)*exp(-0.02*x(3)*tdata)- cdata
再在命令窗口输入下面的matlab代码:
tdata=100:100:1000cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59];x0=[0.2,0.05,0.05];x=lsqcurvefit ('curvefun1',x0,tdata,cdata)f= curvefun1(x,tdata)
四.拟合问题实例-给药方案
1.题目
2.模型假设
3.模型建立
4.求解
用线性最小二乘法拟合求解
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)-用lsqcurvefit
1)先新建curvefun3.m定义函数
function f=curvefun3(x,tdata)d=300f=(x(1)\d)*exp(-x(2)*tdata)
2)命令窗口输入
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',x,tdata,cdata);f=curvefun3(x,tdata)
5.给药方案设计
返回目录
下一篇:11.预测方法
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~